]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Fix memory errors
authorRoy Marples <roy@marples.name>
Sat, 10 Nov 2012 17:55:37 +0000 (17:55 +0000)
committerRoy Marples <roy@marples.name>
Sat, 10 Nov 2012 17:55:37 +0000 (17:55 +0000)
compat/posix_spawn.c
signals.c

index 1e07f3b6d0c327429ed20fdef54169baf1ead550..3de3f3018c8b7c0f4e1e7b053221bae64c4d6212 100644 (file)
@@ -63,7 +63,7 @@ posix_spawnattr_handle(const posix_spawnattr_t *attrp)
                sigprocmask(SIG_SETMASK, &attrp->posix_attr_sigmask, NULL);
 
        if (attrp->posix_attr_flags & POSIX_SPAWN_SETSIGDEF) {
-               sa.sa_flags = 0;
+               memset(&sa, 0, sizeof(sa));
                sa.sa_handler = SIG_DFL;
                for (i = 1; i < _NSIG; i++) {
                        if (sigismember(&attrp->posix_attr_sigdefault, i)) {
index e1ce69cb0c20741a741d9dc07bd47090ecf2dcad..3602fae86cfe6ffeb87960fb6e3b003bece645fc 100644 (file)
--- a/signals.c
+++ b/signals.c
@@ -55,6 +55,9 @@ signal_handle(void (*func)(int), sigset_t *oldset)
        sa.sa_handler = func;
        sigemptyset(&sa.sa_mask);
 
+       if (oldset)
+               sigemptyset(&newset);
+
        for (i = 0; handle_sigs[i]; i++) {
                if (sigaction(handle_sigs[i], &sa, NULL) == -1)
                        return -1;