소스 검색

Avoid null pointer dereferences when no username/password specified.

tags/v0.9.3
Michael Brown 18 년 전
부모
커밋
d6f9152bfa
1개의 변경된 파일6개의 추가작업 그리고 3개의 파일을 삭제
  1. 6
    3
      src/net/tcp/iscsi.c

+ 6
- 3
src/net/tcp/iscsi.c 파일 보기

@@ -403,7 +403,8 @@ static int iscsi_build_login_request_strings ( struct iscsi_session *iscsi,
403 403
 		used += ssnprintf ( data + used, len - used, "CHAP_A=5%c", 0 );
404 404
 	}
405 405
 	
406
-	if ( iscsi->status & ISCSI_STATUS_STRINGS_CHAP_RESPONSE ) {
406
+	if ( ( iscsi->status & ISCSI_STATUS_STRINGS_CHAP_RESPONSE ) &&
407
+	     iscsi->username ) {
407 408
 		used += ssnprintf ( data + used, len - used,
408 409
 				    "CHAP_N=%s%cCHAP_R=0x",
409 410
 				    iscsi->username, 0 );
@@ -572,8 +573,10 @@ static void iscsi_handle_chap_i_value ( struct iscsi_session *iscsi,
572 573
 	 * challenge.
573 574
 	 */
574 575
 	chap_set_identifier ( &iscsi->chap, identifier );
575
-	chap_update ( &iscsi->chap, iscsi->password,
576
-		      strlen ( iscsi->password ) );
576
+	if ( iscsi->password ) {
577
+		chap_update ( &iscsi->chap, iscsi->password,
578
+			      strlen ( iscsi->password ) );
579
+	}
577 580
 }
578 581
 
579 582
 /**

Loading…
취소
저장