talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit eadad58d2b3181f88c258e9c6c00b8f705503625
parent a1afbcac11d130e9fe7742a8907d60df8b82e7ee
Author: Colin Leroy <colin@colino.net>
Date:   Fri, 20 Jun 2014 12:38:28 +0200

Fix unchecked return values - patch by Christian Hesse

Diffstat:
Msrc/crash.c | 18++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/crash.c b/src/crash.c @@ -343,8 +343,10 @@ static void crash_debug(unsigned long crash_pid, char **argptr = argp; gchar *filespec = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, DEBUGGERRC, NULL); - setgid(getgid()); - setuid(getuid()); + if (setgid(getgid()) != 0) + perror("setgid"); + if (setuid(getuid()) != 0) + perror("setuid"); /* * setup debugger to attach to crashed claws @@ -364,7 +366,8 @@ static void crash_debug(unsigned long crash_pid, * redirect output to write end of pipe */ close(1); - dup(choutput[1]); + if (dup(choutput[1]) < 0) + perror("dup"); close(choutput[0]); if (-1 == execvp("gdb", argp)) g_print("error execvp\n"); @@ -538,9 +541,12 @@ static void crash_handler(int sig) args[3] = buf; args[4] = NULL; - chdir(claws_get_startup_dir()); - setgid(getgid()); - setuid(getuid()); + if (chdir(claws_get_startup_dir()) != 0) + perror("chdir"); + if (setgid(getgid()) != 0) + perror("setgid"); + if (setuid(getuid()) != 0 ) + perror("setuid"); execvp(argv0, args); } else { waitpid(pid, NULL, 0);