summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim Woelders <kim@woelders.dk>2020-02-29 06:47:18 +0100
committerKim Woelders <kim@woelders.dk>2020-02-29 06:55:15 +0100
commitc6083547605d2b2bbfceaef276b46359dcd7a13a (patch)
treeb7b52074ad751c1efa41e259531034c46869d3e1
parentc913f9728581296dd536cccac49a3babd4aa3757 (diff)
downloadimlib2-c6083547605d2b2bbfceaef276b46359dcd7a13a.tar.gz
Revert "JPG, PNG loaders: Avoid clobber warnings"
This caused a segv in the jpg loader if trying to load a non-jpg image (gcc 9.2.1 with -O2, not with -O). This reverts commit f588650bb6e2cad15c5f7394b0962d3f1a2aaacd.
-rw-r--r--src/modules/loaders/loader_jpeg.c8
-rw-r--r--src/modules/loaders/loader_png.c8
2 files changed, 2 insertions, 14 deletions
diff --git a/src/modules/loaders/loader_jpeg.c b/src/modules/loaders/loader_jpeg.c
index 3c7152a..616934f 100644
--- a/src/modules/loaders/loader_jpeg.c
+++ b/src/modules/loaders/loader_jpeg.c
@@ -57,12 +57,6 @@ _jdata_init(ImLib_JPEG_data * jd)
return jem;
}
-static int
-_jjump_init(ImLib_JPEG_data * jd)
-{
- return sigsetjmp(jd->setjmp_buffer, 1);
-}
-
char
load(ImlibImage * im, ImlibProgressFunction progress,
char progress_granularity, char load_data)
@@ -83,7 +77,7 @@ load(ImlibImage * im, ImlibProgressFunction progress,
/* set up error handling */
cinfo.err = _jdata_init(&jdata);
- if (_jjump_init(&jdata))
+ if (sigsetjmp(jdata.setjmp_buffer, 1))
goto quit;
jpeg_create_decompress(&cinfo);
diff --git a/src/modules/loaders/loader_png.c b/src/modules/loaders/loader_png.c
index 05963c9..dc35e34 100644
--- a/src/modules/loaders/loader_png.c
+++ b/src/modules/loaders/loader_png.c
@@ -12,12 +12,6 @@ comment_free(ImlibImage * im, void *data)
free(data);
}
-static int
-jump_init(png_structp png_ptr)
-{
- return setjmp(png_jmpbuf(png_ptr));
-}
-
char
load(ImlibImage * im, ImlibProgressFunction progress,
char progress_granularity, char load_data)
@@ -58,7 +52,7 @@ load(ImlibImage * im, ImlibProgressFunction progress,
if (!info_ptr)
goto quit;
- if (jump_init(png_ptr))
+ if (setjmp(png_jmpbuf(png_ptr)))
goto quit;
png_init_io(png_ptr, f);