diff options
Diffstat (limited to 'staging/gif2png/gif2png-2.5.4-libpng15.patch')
-rw-r--r-- | staging/gif2png/gif2png-2.5.4-libpng15.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/staging/gif2png/gif2png-2.5.4-libpng15.patch b/staging/gif2png/gif2png-2.5.4-libpng15.patch new file mode 100644 index 000000000..9e5c333bb --- /dev/null +++ b/staging/gif2png/gif2png-2.5.4-libpng15.patch @@ -0,0 +1,43 @@ +ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/graphics/gif2png/patches/patch-aa + +--- gif2png.c ++++ gif2png.c +@@ -10,6 +10,7 @@ + #include <string.h> + #include <stdlib.h> + #include <unistd.h> /* for isatty() */ ++#include <zlib.h> + + #if !defined(TRUE) + #define FALSE 0 +@@ -120,8 +121,8 @@ int writefile(struct GIFelement *s,struc + int colors_used = 0; + byte remap[MAXCMSIZE]; + int low_prec; +- png_struct *png_ptr = xalloc(sizeof (png_struct)); +- png_info *info_ptr = xalloc(sizeof (png_info)); ++ png_struct *png_ptr; ++ png_info *info_ptr; + int p; + int gray_bitdepth; + png_color pal_rgb[MAXCMSIZE], *pltep; +@@ -136,6 +137,19 @@ int writefile(struct GIFelement *s,struc + png_text software; + png_text comment; + ++ png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); ++ if (png_ptr == NULL) { ++ fprintf(stderr, "gif2png: fatal error, out of memory\n"); ++ fprintf(stderr, "gif2png: exiting ungracefully\n"); ++ exit(1); ++ } ++ info_ptr = png_create_info_struct(png_ptr); ++ if (info_ptr == NULL) { ++ fprintf(stderr, "gif2png: fatal error, out of memory\n"); ++ fprintf(stderr, "gif2png: exiting ungracefully\n"); ++ exit(1); ++ } ++ + /* these volatile declarations prevent gcc warnings ("variable might be + * clobbered by `longjmp' or `vfork'") */ + volatile int gray = TRUE; |