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); | 
