isync

mailbox synchronization program
git clone https://git.code.sf.net/p/isync/isync
Log | Files | Refs | README | LICENSE

commit 09db83809a60a3999b733129061b69882ec86f59
parent 2d4bc1e6138f81bcf160154017f19725cdc21051
Author: Oswald Buddenhagen <ossi@users.sf.net>
Date:   Sat, 12 Apr 2014 18:34:26 +0200

error-check reading of old uidvalidity and maxuid files

found by coverity.

Diffstat:
Msrc/compat/convert.c | 12++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/compat/convert.c b/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 )) {