Explorar o código

error-check reading of old uidvalidity and maxuid files

found by coverity.
Oswald Buddenhagen %!s(int64=11) %!d(string=hai) anos
pai
achega
09db83809a
Modificáronse 1 ficheiros con 10 adicións e 2 borrados
  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 )) {