From: Todd C. Miller Date: Tue, 5 Oct 2004 21:26:38 +0000 (+0000) Subject: Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably means X-Git-Tag: SUDO_1_7_0~890 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=163994c116a33adbf12beb8b9cfc6decf0feaba2;p=sudo Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably means we are out of space in the stack gap... --- diff --git a/mon_systrace.c b/mon_systrace.c index 105f34f5b..f2b98f60e 100644 --- a/mon_systrace.c +++ b/mon_systrace.c @@ -694,10 +694,8 @@ update_env(fd, pid, seqnr, askp) inject.stri_pid = pid; inject.stri_addr = buf; inject.stri_len = cp - buf; - if (ioctl(fd, STRIOCINJECT, &inject) != 0) { - warnx("STRIOCINJECT"); + if (ioctl(fd, STRIOCINJECT, &inject) != 0) return(-1); - } n = (offsets[SUDO_USER] == NULL) + (offsets[SUDO_COMMAND] == NULL) + (offsets[SUDO_UID] == NULL) + (offsets[SUDO_GID] == NULL); /* @@ -754,10 +752,8 @@ update_env(fd, pid, seqnr, askp) repl.strr_argind[0] = 2; repl.strr_off[0] = 0; repl.strr_offlen[0] = (char *)envp - (char *)envbuf; - if (ioctl(fd, STRIOCREPLACE, &repl) != 0) { - warnx("STRIOCREPLACE"); + if (ioctl(fd, STRIOCREPLACE, &repl) != 0) return(-1); - } } } return(0);