Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:ykoba
byacc
byacc-1.9-security.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File byacc-1.9-security.patch of Package byacc
--- yacc/main.c.security Mon Jan 10 15:26:24 2000 +++ yacc/main.c Fri Jan 5 10:21:29 2001 @@ -109,6 +109,11 @@ short **derives; char *nullable; +#ifdef linux +# define mktemp safe_mktemp +extern void safe_mktemp(char *tmpl); +#endif + static void create_file_names __P((void)); static void getargs __P((int, char **)); static void onintr __P((int)); @@ -121,9 +126,18 @@ done(k) int k; { - if (action_file) { fclose(action_file); unlink(action_file_name); } - if (text_file) { fclose(text_file); unlink(text_file_name); } - if (union_file) { fclose(union_file); unlink(union_file_name); } + if (action_file) + fclose(action_file); + if (action_file_name[0]) + unlink(action_file_name); + if (text_file) + fclose(text_file); + if (text_file_name[0]) + unlink(text_file_name); + if (union_file) + fclose(union_file); + if (union_file_name[0]) + unlink(union_file_name); exit(k); } @@ -482,6 +496,19 @@ code_file = output_file; } +#ifdef linux +void +safe_mktemp(char *fname) +{ + int fd; + + if ((fd = mkstemp(fname)) < 0) { + perror("unable to create temp file"); + exit(1); + } + close(fd); +} +#endif int main(argc, argv)
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