Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:GA
wget.34428
wget-CVE-2016-7098.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File wget-CVE-2016-7098.patch of Package wget.34428
Index: wget-1.14/src/http.c =================================================================== --- wget-1.14.orig/src/http.c +++ wget-1.14/src/http.c @@ -39,6 +39,7 @@ as that of the covered work. */ #include <errno.h> #include <time.h> #include <locale.h> +#include <fcntl.h> #include "hash.h" #include "http.h" @@ -1459,6 +1460,7 @@ struct http_stat wgint orig_file_size; /* size of file to compare for time-stamping */ time_t orig_file_tstamp; /* time-stamp of file to compare for * time-stamping */ + bool temporary; /* downloading a temporary file */ }; static void @@ -2453,6 +2455,15 @@ read_header: } } + hs->temporary = opt.delete_after || opt.spider || !acceptable (hs->local_file); + if (hs->temporary) + { + char *tmp = NULL; + asprintf (&tmp, "%s.tmp", hs->local_file); + xfree (hs->local_file); + hs->local_file = tmp; + } + /* TODO: perform this check only once. */ if (!hs->existence_checked && file_exists_p (hs->local_file)) { @@ -2861,7 +2872,11 @@ read_header: open_id = 22; fp = fopen (hs->local_file, "wb", FOPEN_OPT_ARGS); #else /* def __VMS */ - fp = fopen (hs->local_file, "wb"); + if (hs->temporary) + fp = fdopen (open (hs->local_file, O_BINARY | O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR), "wb"); + else + fp = fopen (hs->local_file, "wb"); + #endif /* def __VMS [else] */ } else
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