瀏覽代碼

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 )) {