From fe0eaf1870d3b992ef3caa8c49c3b22e965ac36b Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 25 Jan 2015 00:00:40 -0400 Subject: Fix NULL ptr deref on ENOMOM in wrapper. (Thanks, igli) Probably not exploitable, but who knows.. --- IkiWiki/Wrapper.pm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'IkiWiki/Wrapper.pm') diff --git a/IkiWiki/Wrapper.pm b/IkiWiki/Wrapper.pm index 4c99cdaa0..583841d6c 100644 --- a/IkiWiki/Wrapper.pm +++ b/IkiWiki/Wrapper.pm @@ -189,16 +189,23 @@ int i=0; void addenv(char *var, char *val) { char *s=malloc(strlen(var)+1+strlen(val)+1); - if (!s) + if (!s) { perror("malloc"); - sprintf(s, "%s=%s", var, val); - newenviron[i++]=s; + exit(1); + } + else { + sprintf(s, "%s=%s", var, val); + newenviron[i++]=s; + } } void set_cgilock_fd (int lockfd) { char *fd_s=malloc(8); sprintf(fd_s, "%i", lockfd); - setenv("IKIWIKI_CGILOCK_FD", fd_s, 1); + if (setenv("IKIWIKI_CGILOCK_FD", fd_s, 1) != 0) { + perror("setenv"); + exit(1); + } } int main (int argc, char **argv) { -- cgit v1.2.3