소스 검색

error-check reading of old uidvalidity and maxuid files

found by coverity.
Oswald Buddenhagen 11 년 전
부모
커밋
09db83809a
1개의 변경된 파일10개의 추가작업 그리고 2개의 파일을 삭제
  1. 10 2
      src/compat/convert.c

+ 10 - 2
src/compat/convert.c

@@ -128,13 +128,21 @@ convert( config_t *box )
 		sys_error( "Cannot open %s", iuvname );
 		goto err2;
 	}
-	fscanf( fp, "%d", &uidval );
+	if (fscanf( fp, "%d", &uidval ) != 1) {
+		sys_error( "Cannot read %s", iuvname );
+	  err3:
+		fclose( fp );
+		goto err2;
+	}
 	fclose( fp );
 	if (!(fp = fopen( imuname, "r" ))) {
 		sys_error( "Cannot open %s", imuname );
 		goto err2;
 	}
-	fscanf( fp, "%d", &maxuid );
+	if (fscanf( fp, "%d", &maxuid ) != 1) {
+		sys_error( "Cannot read %s", imuname );
+		goto err3;
+	}
 	fclose( fp );
 
 	if (!stat( iumname, &sb )) {