Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.1:Update
WindowMaker
WindowMaker-exec.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File WindowMaker-exec.patch of Package WindowMaker
--- src/dock.c +++ src/dock.c @@ -3002,6 +3002,8 @@ args[i] = argv[i]; } args[argc] = NULL; + for(i = 3; i < 1024; i++) + close(i); execvp(argv[0], args); exit(111); } --- src/main.c +++ src/main.c @@ -302,12 +302,16 @@ pid = fork(); if (pid==0) { + int i; SetupEnvironment(scr); #ifdef HAVE_SETSID setsid(); #endif + for(i = 3; i < 1024; i++) + close(i); + execl(shell, shell, "-c", command, NULL); wsyserror("could not execute %s -c %s", shell, command); Exit(-1); @@ -337,6 +341,7 @@ int in_fd[2]; int out_fd[2]; int err_fd[2]; + int i; pid_t pid; SetupEnvironment(scr); @@ -389,7 +394,9 @@ close(in_fd[1]); close(out_fd[1]); close(err_fd[1]); - + + for(i = 3; i < 1024; i++) + close(i); execl("/bin/sh", "/bin/sh", "-c", wPreferences.logger_shell, NULL); wsyserror("could not execute %s\n", wPreferences.logger_shell); exit(1); --- src/session.c +++ src/session.c @@ -398,6 +398,10 @@ args[i] = argv[i]; } args[argc] = NULL; + + for(i = 3; i < 1024; i++) + close(i); + execvp(argv[0], args); exit(111); }
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