Просмотр исходного кода

error-check reading of old uidvalidity and maxuid files

found by coverity.
Oswald Buddenhagen 11 лет назад
Родитель
Сommit
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 )) {