@@ -209,12 +209,12 @@ static void process_KDBX2_database(FILE *fp, char* encryptedDatabase)
209209
210210 if (fread (final_randomseed , 16 , 1 , fp ) != 1 ) {
211211 warn ("%s: Error: read failed: %s." , encryptedDatabase ,
212- strerror (errno ));
212+ feof ( fp ) ? "Unexpected end of file" : strerror (errno ));
213213 return ;
214214 }
215215 if (fread (enc_iv , 16 , 1 , fp ) != 1 ) {
216216 warn ("%s: Error: read failed: %s." , encryptedDatabase ,
217- strerror (errno ));
217+ feof ( fp ) ? "Unexpected end of file" : strerror (errno ));
218218 return ;
219219 }
220220
@@ -225,12 +225,12 @@ static void process_KDBX2_database(FILE *fp, char* encryptedDatabase)
225225
226226 if (fread (contents_hash , 32 , 1 , fp ) != 1 ) {
227227 warn ("%s: Error: read failed: %s." , encryptedDatabase ,
228- strerror (errno ));
228+ feof ( fp ) ? "Unexpected end of file" : strerror (errno ));
229229 return ;
230230 }
231231 if (fread (transf_randomseed , 32 , 1 , fp ) != 1 ) {
232232 warn ("%s: Error: read failed: %s." , encryptedDatabase ,
233- strerror (errno ));
233+ feof ( fp ) ? "Unexpected end of file" : strerror (errno ));
234234 return ;
235235 }
236236
@@ -287,7 +287,7 @@ static void process_KDBX2_database(FILE *fp, char* encryptedDatabase)
287287 fseek (fp , 124 , SEEK_SET );
288288 if (fread (buffer , datasize , 1 , fp ) != 1 ) {
289289 warn ("%s: Error: read failed: %s." ,
290- encryptedDatabase , strerror (errno ));
290+ encryptedDatabase , feof ( fp ) ? "Unexpected end of file" : strerror (errno ));
291291 MEM_FREE (buffer );
292292 return ;
293293 }
@@ -300,7 +300,7 @@ static void process_KDBX2_database(FILE *fp, char* encryptedDatabase)
300300 printf ("*1*64*" ); /* inline keyfile content or hash - always 32 bytes */
301301 if (fread (buffer , filesize_keyfile , 1 , kfp ) != 1 ) {
302302 warn ("%s: Error: read failed: %s." ,
303- encryptedDatabase , strerror (errno ));
303+ encryptedDatabase , feof ( kfp ) ? "Unexpected end of file" : strerror (errno ));
304304 return ;
305305 }
306306
@@ -851,7 +851,7 @@ static void process_database(char* encryptedDatabase)
851851 printf ("*1*64*" ); /* inline keyfile content or hash - always 32 bytes */
852852 if (fread (buffer , filesize_keyfile , 1 , kfp ) != 1 ) {
853853 warn ("%s: Error: read failed: %s." ,
854- encryptedDatabase , strerror (errno ));
854+ encryptedDatabase , feof ( kfp ) ? "Unexpected end of file" : strerror (errno ));
855855 return ;
856856 }
857857
0 commit comments