Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
OBS:Server:2.6
rpm
readlink.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File readlink.diff of Package rpm
--- lib/rpmfi.c.orig 2012-12-18 17:44:38.000000000 +0000 +++ lib/rpmfi.c 2012-12-18 17:47:40.000000000 +0000 @@ -628,8 +628,10 @@ fileAction rpmfiDecideFate(const rpmfi o const char * oFLink, * nFLink; oFLink = rpmfiFLink(ofi); if (diskWhat == LINK) { - if (readlink(fn, buffer, sizeof(buffer) - 1) == -1) + ssize_t link_len = readlink(fn, buffer, sizeof(buffer) - 1); + if (link_len == -1) return FA_CREATE; /* assume file has been removed */ + buffer[link_len] = '\0'; if (oFLink && !strcmp(oFLink, buffer)) return FA_CREATE; /* unmodified config file, replace. */ } @@ -682,8 +684,10 @@ int rpmfiConfigConflict(const rpmfi fi) return 0; /* unmodified config file */ } else /* newWhat == LINK */ { const char * nFLink; - if (readlink(fn, buffer, sizeof(buffer) - 1) == -1) + ssize_t link_len = readlink(fn, buffer, sizeof(buffer) - 1); + if (link_len == -1) return 0; /* assume file has been removed */ + buffer[link_len] = '\0'; nFLink = rpmfiFLink(fi); if (nFLink && !strcmp(nFLink, buffer)) return 0; /* unmodified config file */
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor