diff options
| -rw-r--r-- | lib/libalpm/be_files.c | 8 | ||||
| -rw-r--r-- | 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)) { | 
