Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.5:Update
s390-tools.30305
s390-tools-sles15sp5-02-zdev-use-rename-file-to...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File s390-tools-sles15sp5-02-zdev-use-rename-file-to-avoid-any-symlinks-created.patch of Package s390-tools.30305
--- zdev/src/zdev_id.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) --- a/zdev/src/zdev_id.c +++ b/zdev/src/zdev_id.c @@ -213,9 +213,16 @@ out: static void write_zdev_site_id(int site_id) { FILE *fd; - int rc; + int tmpfd, rc; + const char zdev_id_file[] = ZDEV_SITE_ID_FILE; + char zdev_id_tmpfile[] = ZDEV_SITE_ID_FILE "-XXXXXX"; - fd = fopen(ZDEV_SITE_ID_FILE, "w"); + tmpfd = mkstemp(zdev_id_tmpfile); + if (tmpfd == -1) + goto err; + + /* Open the temp file to use with fprintf */ + fd = fdopen(tmpfd, "w"); if (!fd) goto err; @@ -232,6 +239,12 @@ static void write_zdev_site_id(int site_ if (fclose(fd)) goto err; + /* Rename the temporary file to ZDEV_SITE_ID_FILE*/ + if (rename(zdev_id_tmpfile, zdev_id_file) == -1) { + remove(zdev_id_tmpfile); + goto err; + } + return; err: err(1, "Could not write to zdev_site_id 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