From: Guillem Jover Date: Thu, 24 Sep 2015 02:01:11 +0000 (+0200) Subject: Make closefrom_procfs() fail when reallocarray() fails X-Git-Tag: 0.8.0~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8641d8aed711f74179915fe2fde89c9969ff7de4;p=thirdparty%2Flibbsd.git Make closefrom_procfs() fail when reallocarray() fails --- diff --git a/src/closefrom.c b/src/closefrom.c index b6d9834..c2922e7 100644 --- a/src/closefrom.c +++ b/src/closefrom.c @@ -132,6 +132,7 @@ closefrom_procfs(int lowfd) int *fd_array = NULL; int fd_array_used = 0; int fd_array_size = 0; + int ret = 0; int i; /* Use /proc/self/fd (or /dev/fd on FreeBSD) if it exists. */ @@ -161,8 +162,10 @@ closefrom_procfs(int lowfd) fd_array_size = 32; ptr = reallocarray(fd_array, fd_array_size, sizeof(int)); - if (ptr == NULL) + if (ptr == NULL) { + ret = -1; break; + } fd_array = ptr; } @@ -175,7 +178,7 @@ closefrom_procfs(int lowfd) free(fd_array); (void)closedir(dirp); - return 0; + return ret; } void