From 60de8ec932984f1374501c3f11ad1bcfba5c7d5c Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Sun, 27 Jun 2010 21:44:36 +1000 Subject: Check return value of fgets calls Prevents compiler warnings with -D_FORTIFY_SOURCE=2 Signed-off-by: Allan McRae Signed-off-by: Dan McGee --- lib/libalpm/be_files.c | 8 ++++++-- lib/libalpm/trans.c | 3 +-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/libalpm/be_files.c b/lib/libalpm/be_files.c index 877bc505..666bb7e8 100644 --- a/lib/libalpm/be_files.c +++ b/lib/libalpm/be_files.c @@ -657,7 +657,9 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq) goto error; } while(!feof(fp)) { - fgets(line, 255, fp); + if(fgets(line, 256, fp) == NULL) { + break; + } _alpm_strtrim(line); if(strcmp(line, "%DEPENDS%") == 0) { while(fgets(line, sline, fp) && strlen(_alpm_strtrim(line))) { @@ -693,7 +695,9 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq) snprintf(path, PATH_MAX, "%sdeltas", pkgpath); if((fp = fopen(path, "r"))) { while(!feof(fp)) { - fgets(line, 255, fp); + if(fgets(line, 256, fp) == NULL) { + break; + } _alpm_strtrim(line); if(strcmp(line, "%DELTAS%") == 0) { while(fgets(line, sline, fp) && strlen(_alpm_strtrim(line))) { diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c index c042f099..523f33b8 100644 --- a/lib/libalpm/trans.c +++ b/lib/libalpm/trans.c @@ -324,8 +324,7 @@ static int grep(const char *fn, const char *needle) while(!feof(fp)) { char line[1024]; int sline = sizeof(line)-1; - fgets(line, sline, fp); - if(feof(fp)) { + if(fgets(line, sline, fp) == NULL) { continue; } if(strstr(line, needle)) { -- cgit v1.2.3-70-g09d2