Fix build with png-1.5.diff -r1.13 -r1.14 pkgsrc/x11/wxGTK24/distinfo
(wiz)
@@ -1,22 +1,22 @@ | @@ -1,22 +1,22 @@ | |||
1 | $NetBSD: distinfo,v 1.13 2010/12/22 19:44:24 chuck Exp $ | 1 | $NetBSD: distinfo,v 1.14 2011/01/24 09:38:13 wiz Exp $ | |
2 | 2 | |||
3 | SHA1 (wxGTK-2.4.2.tar.bz2) = 3f1ebacaaf8eb5510c14ee10bafbc5f225be842c | 3 | SHA1 (wxGTK-2.4.2.tar.bz2) = 3f1ebacaaf8eb5510c14ee10bafbc5f225be842c | |
4 | RMD160 (wxGTK-2.4.2.tar.bz2) = 8076d1ba31c9b23becb241cbad5a83763fee776e | 4 | RMD160 (wxGTK-2.4.2.tar.bz2) = 8076d1ba31c9b23becb241cbad5a83763fee776e | |
5 | Size (wxGTK-2.4.2.tar.bz2) = 5381935 bytes | 5 | Size (wxGTK-2.4.2.tar.bz2) = 5381935 bytes | |
6 | SHA1 (patch-aa) = c454f9b06b64b11ef5d39879ea255c0fd8a09940 | 6 | SHA1 (patch-aa) = c454f9b06b64b11ef5d39879ea255c0fd8a09940 | |
7 | SHA1 (patch-ab) = bab52051778a93439cfd3144f052bdbcc7024e30 | 7 | SHA1 (patch-ab) = bab52051778a93439cfd3144f052bdbcc7024e30 | |
8 | SHA1 (patch-ac) = 06a047a28260d30516b87d85a4dd4d5a6c18cfc4 | 8 | SHA1 (patch-ac) = 06a047a28260d30516b87d85a4dd4d5a6c18cfc4 | |
9 | SHA1 (patch-ad) = 809a12f89b018373910b31442dfd315276cafbdf | 9 | SHA1 (patch-ad) = 809a12f89b018373910b31442dfd315276cafbdf | |
10 | SHA1 (patch-ae) = 81c2e33fbdd4a715da5a14ef3ae0a377d0d9aec2 | 10 | SHA1 (patch-ae) = 81c2e33fbdd4a715da5a14ef3ae0a377d0d9aec2 | |
11 | SHA1 (patch-af) = 81cddc6dcdf986317f7d62f027515cae6ef2c855 | 11 | SHA1 (patch-af) = 81cddc6dcdf986317f7d62f027515cae6ef2c855 | |
12 | SHA1 (patch-ag) = ccdaca4030c08aefa922367019e0c9249b810456 | 12 | SHA1 (patch-ag) = ccdaca4030c08aefa922367019e0c9249b810456 | |
13 | SHA1 (patch-ah) = 24cc32f7eda53f4704422363902f72239eda2253 | 13 | SHA1 (patch-ah) = 24cc32f7eda53f4704422363902f72239eda2253 | |
14 | SHA1 (patch-ai) = c5d301c2cb45397329d9a817d9278707a2d3b97f | 14 | SHA1 (patch-ai) = c5d301c2cb45397329d9a817d9278707a2d3b97f | |
15 | SHA1 (patch-aj) = 9f74442617e6a869c5ff253591bba3f9da3a9e0c | 15 | SHA1 (patch-aj) = 9f74442617e6a869c5ff253591bba3f9da3a9e0c | |
16 | SHA1 (patch-ak) = 3f26086c8f16ac972db89c21f665c187570937cc | 16 | SHA1 (patch-ak) = 3f26086c8f16ac972db89c21f665c187570937cc | |
17 | SHA1 (patch-al) = bceed88db708c83afca0fe3adb5c923f9bc661b0 | 17 | SHA1 (patch-al) = bceed88db708c83afca0fe3adb5c923f9bc661b0 | |
18 | SHA1 (patch-am) = 445ae223a6fd88b86efafa7c13dbcf3f359f364f | 18 | SHA1 (patch-am) = 445ae223a6fd88b86efafa7c13dbcf3f359f364f | |
19 | SHA1 (patch-an) = a9d276244cac87fa00a3c3338179e68084b72b1d | 19 | SHA1 (patch-an) = a9d276244cac87fa00a3c3338179e68084b72b1d | |
20 | SHA1 (patch-ao) = 7fb559c8662b20a61d39b308d3b6723b0dde6673 | 20 | SHA1 (patch-ao) = 3ee66e4bdef6ede5e715fc951f48887e90d0d13a | |
21 | SHA1 (patch-ap) = b1217506bfffe9ed7a282c960a99921c61d76dbd | 21 | SHA1 (patch-ap) = b1217506bfffe9ed7a282c960a99921c61d76dbd | |
22 | SHA1 (patch-aq) = 72cc09c94ca6911859f3b40f01e13f0f95d07141 | 22 | SHA1 (patch-aq) = 72cc09c94ca6911859f3b40f01e13f0f95d07141 |
@@ -1,28 +1,47 @@ | @@ -1,28 +1,47 @@ | |||
1 | $NetBSD: patch-ao,v 1.1 2010/02/16 17:33:39 taca Exp $ | 1 | $NetBSD: patch-ao,v 1.2 2011/01/24 09:38:13 wiz Exp $ | |
2 | 2 | |||
3 | Fix build with png-1.5. | |||
3 | deal with CVE-2009-2369. | 4 | deal with CVE-2009-2369. | |
4 | 5 | |||
5 | --- src/common/imagpng.cpp.orig 2003-09-21 11:31:39.000000000 +0000 | 6 | --- src/common/imagpng.cpp.orig 2003-09-21 11:31:39.000000000 +0000 | |
6 | +++ src/common/imagpng.cpp | 7 | +++ src/common/imagpng.cpp | |
8 | @@ -167,7 +167,7 @@ bool wxPNGHandler::LoadFile( wxImage *im | |||
9 | image->Destroy(); | |||
10 | ||||
11 | png_structp png_ptr = png_create_read_struct( PNG_LIBPNG_VER_STRING, | |||
12 | - (voidp) NULL, | |||
13 | + NULL, | |||
14 | (png_error_ptr) NULL, | |||
15 | (png_error_ptr) NULL ); | |||
16 | if (!png_ptr) | |||
17 | @@ -186,7 +186,7 @@ bool wxPNGHandler::LoadFile( wxImage *im | |||
18 | if (setjmp(wxinfo.jmpbuf)) | |||
19 | goto error_nolines; | |||
20 | ||||
21 | - if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA) | |||
22 | + if (png_get_color_type( png_ptr, info_ptr ) == PNG_COLOR_TYPE_RGB_ALPHA) | |||
23 | goto error_nolines; | |||
24 | ||||
25 | png_uint_32 width,height; | |||
7 | @@ -213,18 +213,16 @@ bool wxPNGHandler::LoadFile( wxImage *im | 26 | @@ -213,18 +213,16 @@ bool wxPNGHandler::LoadFile( wxImage *im | |
8 | if (!image->Ok()) | 27 | if (!image->Ok()) | |
9 | goto error_nolines; | 28 | goto error_nolines; | |
10 | 29 | |||
11 | - lines = (unsigned char **)malloc( (size_t)(height * sizeof(unsigned char *)) ); | 30 | - lines = (unsigned char **)malloc( (size_t)(height * sizeof(unsigned char *)) ); | |
12 | + // initialize all line pointers to NULL to ensure that they can be safely | 31 | + // initialize all line pointers to NULL to ensure that they can be safely | |
13 | + // free()d if an error occurs before all of them could be allocated | 32 | + // free()d if an error occurs before all of them could be allocated | |
14 | + lines = (unsigned char **)calloc(height, sizeof(unsigned char *)); | 33 | + lines = (unsigned char **)calloc(height, sizeof(unsigned char *)); | |
15 | if (lines == NULL) | 34 | if (lines == NULL) | |
16 | goto error_nolines; | 35 | goto error_nolines; | |
17 | 36 | |||
18 | for (i = 0; i < height; i++) | 37 | for (i = 0; i < height; i++) | |
19 | { | 38 | { | |
20 | if ((lines[i] = (unsigned char *)malloc( (size_t)(width * (sizeof(unsigned char) * 4)))) == NULL) | 39 | if ((lines[i] = (unsigned char *)malloc( (size_t)(width * (sizeof(unsigned char) * 4)))) == NULL) | |
21 | - { | 40 | - { | |
22 | - for ( unsigned int n = 0; n < i; n++ ) | 41 | - for ( unsigned int n = 0; n < i; n++ ) | |
23 | - free( lines[n] ); | 42 | - free( lines[n] ); | |
24 | goto error; | 43 | goto error; | |
25 | - } | 44 | - } | |
26 | } | 45 | } | |
27 | 46 | |||
28 | // loaded successfully! | 47 | // loaded successfully! |