diff options
author | Daniel Friesel <derf@finalrewind.org> | 2016-06-24 00:28:06 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2016-06-24 00:28:06 +0200 |
commit | 5eb2bf251f7555a3f0365a4fe1a40902e93c9c75 (patch) | |
tree | 5932180cd2faae7eb1daa4678177035a45813e03 | |
parent | 8f5a842412996d3d8fa573c2da000f397d530c6b (diff) |
Also handle fork() failure in magick_load_image
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | src/imlib.c | 8 |
2 files changed, 8 insertions, 1 deletions
@@ -2,6 +2,7 @@ git HEAD * Fix crash when trying to rotate a JPEG image without having jpegtran / jpegexiforient installed + * Handle failing fork() calls gracefully Thu, 09 Jun 2016 08:59:35 +0200 Daniel Friesel <derf+feh@finalrewind.org> diff --git a/src/imlib.c b/src/imlib.c index fb1a589..90188e1 100644 --- a/src/imlib.c +++ b/src/imlib.c @@ -312,7 +312,13 @@ static char *feh_magick_load_image(char *filename) snprintf(argv_fd, sizeof(argv_fd), "png:fd:%d", fd); - if ((childpid = fork()) == 0) { + if ((childpid = fork()) < 0) { + weprintf("%s: Can't load with imagemagick. Fork failed:", filename); + unlink(sfn); + free(sfn); + sfn = NULL; + } + else if (childpid == 0) { /* discard convert output */ devnull = open("/dev/null", O_WRONLY); |