From 2b74a89bc8342f0b9b737c37d87737caf7b0ea1e Mon Sep 17 00:00:00 2001 From: Dirk Meyer Date: Fri, 1 Jun 2012 05:26:28 +0000 Subject: - update png to 1.5.10 --- graphics/dc20ctrl/files/patch-pixmaps.c | 50 +++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 graphics/dc20ctrl/files/patch-pixmaps.c (limited to 'graphics/dc20ctrl/files/patch-pixmaps.c') diff --git a/graphics/dc20ctrl/files/patch-pixmaps.c b/graphics/dc20ctrl/files/patch-pixmaps.c new file mode 100644 index 000000000000..8b910130f60c --- /dev/null +++ b/graphics/dc20ctrl/files/patch-pixmaps.c @@ -0,0 +1,50 @@ +--- pixmaps.c.orig 1998-02-17 18:19:47.000000000 +0100 ++++ pixmaps.c 2012-04-30 21:36:08.000000000 +0200 +@@ -446,7 +446,7 @@ + if (p) { + if ((png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL)) != NULL) { + if ((info_ptr = png_create_info_struct(png_ptr)) != NULL) { +- if (setjmp(png_ptr->jmpbuf) == 0) { ++ if (setjmp(png_jmpbuf(png_ptr)) == 0) { + png_init_io(png_ptr, fp); + png_set_IHDR(png_ptr, info_ptr, p->width, p->height, 8, (p->components == 1) ? PNG_COLOR_TYPE_GRAY : PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); + png_write_info(png_ptr, info_ptr); +@@ -504,26 +504,32 @@ + * Build the image name + */ + +- strcpy(fname, name); +- strcat(fname, "."); ++ if (strlcpy(fname, name, sizeof(fname)) >= sizeof(fname)) ++ return -1; ++ if (strlcat(fname, ".", sizeof(fname)) >= sizeof(fname)) ++ return -1; + switch (format & SAVE_FORMATS) { + #ifdef USE_JPEG + case SAVE_JPEG: +- strcat(fname, JPEG_EXT); ++ if (strlcat(fname, JPEG_EXT, sizeof(fname)) >= sizeof(fname)) ++ return -1; + break; + #endif /* USE_JPEG */ + #ifdef USE_TIFF + case SAVE_TIFF: +- strcat(fname, TIFF_EXT); ++ if (strlcat(fname, TIFF_EXT, sizeof(fname)) >= sizeof(fname)) ++ return -1; + break; + #endif /* USE_TIFF */ + #ifdef USE_PNG + case SAVE_PNG: +- strcat(fname, PNG_EXT); ++ if (strlcat(fname, PNG_EXT, sizeof(fname)) >= sizeof(fname)) ++ return -1; + break; + #endif /* USE_PNG */ + default: +- strcat(fname, (to_be_saved->components == 3) ? PPM_EXT : PGM_EXT ); ++ if (strlcat(fname, (to_be_saved->components == 3) ? PPM_EXT : PGM_EXT, sizeof(fname)) >= sizeof(fname)) ++ return -1; + break; + } + -- cgit v1.2.3