Gentoo Archives: gentoo-commits

From: Michael Palimaka <kensington@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/gimp/files/
Date: Thu, 22 Dec 2016 16:04:59
Message-Id: 1482422682.3fcb9e3eb9d375eee2bbcf9cb16501efaf980cfc.kensington@gentoo
1 commit: 3fcb9e3eb9d375eee2bbcf9cb16501efaf980cfc
2 Author: Michael Mair-Keimberger (asterix) <m.mairkeimberger <AT> gmail <DOT> com>
3 AuthorDate: Tue Dec 20 19:13:25 2016 +0000
4 Commit: Michael Palimaka <kensington <AT> gentoo <DOT> org>
5 CommitDate: Thu Dec 22 16:04:42 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3fcb9e3e
7
8 media-gfx/gimp: remove unused patches
9
10 media-gfx/gimp/files/gimp-2.6.11-file-uri.patch | 79 ----
11 .../gimp/files/gimp-2.6.12-CVE-2012-2763.patch | 20 -
12 .../gimp/files/gimp-2.6.12-CVE-2012-3236.patch | 39 --
13 .../gimp/files/gimp-2.6.12-CVE-2012-3403.patch | 511 ---------------------
14 .../gimp/files/gimp-2.6.12-CVE-2012-3481.patch | 56 ---
15 .../gimp/files/gimp-2.6.12-potfiles-skip.patch | 17 -
16 .../gimp/files/gimp-2.8.10-CVE-2013-1913.patch | 31 --
17 .../gimp/files/gimp-2.8.10-CVE-2013-1978.patch | 151 ------
18 media-gfx/gimp/files/gimp-2.8.10-freetype251.patch | 26 --
19 media-gfx/gimp/files/gimp-curl-headers.diff | 12 -
20 10 files changed, 942 deletions(-)
21
22 diff --git a/media-gfx/gimp/files/gimp-2.6.11-file-uri.patch b/media-gfx/gimp/files/gimp-2.6.11-file-uri.patch
23 deleted file mode 100644
24 index 2d3f161..00000000
25 --- a/media-gfx/gimp/files/gimp-2.6.11-file-uri.patch
26 +++ /dev/null
27 @@ -1,79 +0,0 @@
28 ---- plug-ins/file-uri/uri-backend-libcurl.c.orig 2011-09-01 09:06:13.307741499 -0500
29 -+++ plug-ins/file-uri/uri-backend-libcurl.c 2011-09-01 09:09:09.066152187 -0500
30 -@@ -62,7 +62,7 @@
31 -
32 - vinfo = curl_version_info (CURLVERSION_NOW);
33 -
34 -- protocols = g_string_new ("http:,ftp:");
35 -+ protocols = g_string_new ("http:,ftp:,gopher:");
36 -
37 - if (vinfo->features & CURL_VERSION_SSL)
38 - {
39 -@@ -153,6 +153,11 @@
40 - CURL *curl_handle;
41 - CURLcode result;
42 - gint response_code;
43 -+ gchar *eff_url = NULL;
44 -+ gchar *proto = NULL;
45 -+ gboolean is_http = FALSE;
46 -+ gboolean is_ftp = FALSE;
47 -+ gboolean is_gopher = FALSE;
48 -
49 - gimp_progress_init (_("Connecting to server"));
50 -
51 -@@ -194,13 +199,52 @@
52 -
53 - curl_easy_getinfo (curl_handle, CURLINFO_RESPONSE_CODE, &response_code);
54 -
55 -- if (response_code != 200)
56 -+ /* protocol could be not specified in provided uri
57 -+ get complete url guessed by curl */
58 -+ curl_easy_getinfo (curl_handle, CURLINFO_EFFECTIVE_URL, &eff_url);
59 -+
60 -+ /* detect uri protocol */
61 -+ if (! g_ascii_strncasecmp (eff_url, "http://", 7))
62 -+ {
63 -+ is_http = TRUE;
64 -+ proto = "HTTP";
65 -+ }
66 -+ else
67 -+ if (! g_ascii_strncasecmp (eff_url, "https://", 8))
68 -+ {
69 -+ is_http = TRUE;
70 -+ proto = "HTTPS";
71 -+ }
72 -+ else
73 -+ if (! g_ascii_strncasecmp (eff_url, "ftp://", 6))
74 -+ {
75 -+ is_ftp = TRUE;
76 -+ proto = "FTP";
77 -+ }
78 -+ else
79 -+ if (! g_ascii_strncasecmp (eff_url, "ftps://", 7))
80 -+ {
81 -+ is_ftp = TRUE;
82 -+ proto = "FTPS";
83 -+ }
84 -+ else
85 -+ if (! g_ascii_strncasecmp (eff_url ,"gopher://", 9))
86 -+ {
87 -+ is_gopher = TRUE;
88 -+ proto = "GOPHER";
89 -+ }
90 -+ else
91 -+ {
92 -+ proto = "UNKNOWN";
93 -+ }
94 -+
95 -+ if (! ((is_http && response_code == 200) || (is_ftp && response_code == 226) || (is_gopher)))
96 - {
97 - fclose (out_file);
98 - g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
99 -- _("Opening '%s' for reading resulted in HTTP "
100 -+ _("Opening '%s' for reading resulted in %s "
101 - "response code: %d"),
102 -- uri, response_code);
103 -+ uri, proto, response_code);
104 - curl_easy_cleanup (curl_handle);
105 - return FALSE;
106 - }
107
108 diff --git a/media-gfx/gimp/files/gimp-2.6.12-CVE-2012-2763.patch b/media-gfx/gimp/files/gimp-2.6.12-CVE-2012-2763.patch
109 deleted file mode 100644
110 index c922b63..00000000
111 --- a/media-gfx/gimp/files/gimp-2.6.12-CVE-2012-2763.patch
112 +++ /dev/null
113 @@ -1,20 +0,0 @@
114 -Fix for CVE-2012-2763 for GIMP 2.6.x by mancha. Based on commit
115 -76155d79df8d497. Thanks to muks, Kevin, and Ankh for identifying
116 -the relevant code change.
117 -
118 -Ref: Fixed potential buffer overflow in readstr_upto().
119 -
120 -================================================
121 -
122 ---- a/plug-ins/script-fu/tinyscheme/scheme.c.orig 2012-06-30
123 -+++ b/plug-ins/script-fu/tinyscheme/scheme.c 2012-06-30
124 -@@ -1727,7 +1727,8 @@ static char *readstr_upto(scheme *sc, ch
125 - c = inchar(sc);
126 - len = g_unichar_to_utf8(c, p);
127 - p += len;
128 -- } while (c && !is_one_of(delim, c));
129 -+ } while ((p - sc->strbuff < sizeof(sc->strbuff)) &&
130 -+ (c && !is_one_of(delim, c)));
131 -
132 - if(p==sc->strbuff+2 && c_prev=='\\')
133 - *p = '\0';
134
135 diff --git a/media-gfx/gimp/files/gimp-2.6.12-CVE-2012-3236.patch b/media-gfx/gimp/files/gimp-2.6.12-CVE-2012-3236.patch
136 deleted file mode 100644
137 index e4d3a9f..00000000
138 --- a/media-gfx/gimp/files/gimp-2.6.12-CVE-2012-3236.patch
139 +++ /dev/null
140 @@ -1,39 +0,0 @@
141 -From ace45631595e8781a1420842582d67160097163c Mon Sep 17 00:00:00 2001
142 -From: Michael Natterer <mitch@××××.org>
143 -Date: Wed, 06 Jun 2012 19:21:10 +0000
144 -Subject: Bug 676804 - file handling DoS for fit file format
145 -
146 -Apply patch from joe@×××××××××××××.uk which fixes a buffer overflow on
147 -broken/malicious fits files.
148 ----
149 -(limited to 'plug-ins/file-fits/fits-io.c')
150 -
151 -diff --git a/plug-ins/file-fits/fits-io.c b/plug-ins/file-fits/fits-io.c
152 -index 03d9652..ed77318 100644
153 ---- a/plug-ins/file-fits/fits-io.c
154 -+++ b/plug-ins/file-fits/fits-io.c
155 -@@ -1054,10 +1054,18 @@ static FITS_HDU_LIST *fits_decode_header (FITS_RECORD_LIST *hdr,
156 - hdulist->used.simple = (strncmp (hdr->data, "SIMPLE ", 8) == 0);
157 - hdulist->used.xtension = (strncmp (hdr->data, "XTENSION", 8) == 0);
158 - if (hdulist->used.xtension)
159 -- {
160 -- fdat = fits_decode_card (fits_search_card (hdr, "XTENSION"), typ_fstring);
161 -- strcpy (hdulist->xtension, fdat->fstring);
162 -- }
163 -+ {
164 -+ fdat = fits_decode_card (fits_search_card (hdr, "XTENSION"), typ_fstring);
165 -+ if (fdat != NULL)
166 -+ {
167 -+ strcpy (hdulist->xtension, fdat->fstring);
168 -+ }
169 -+ else
170 -+ {
171 -+ strcpy (errmsg, "No valid XTENSION header found.");
172 -+ goto err_return;
173 -+ }
174 -+ }
175 -
176 - FITS_DECODE_CARD (hdr, "NAXIS", fdat, typ_flong);
177 - hdulist->naxis = fdat->flong;
178 ---
179 -cgit v0.9.0.2
180
181 diff --git a/media-gfx/gimp/files/gimp-2.6.12-CVE-2012-3403.patch b/media-gfx/gimp/files/gimp-2.6.12-CVE-2012-3403.patch
182 deleted file mode 100644
183 index f7d0b37..00000000
184 --- a/media-gfx/gimp/files/gimp-2.6.12-CVE-2012-3403.patch
185 +++ /dev/null
186 @@ -1,511 +0,0 @@
187 -From 65ac6cda675fafd57bc182175f685e5d8c1a9cc9 Mon Sep 17 00:00:00 2001
188 -From: Nils Philippsen <nils@××××××.com>
189 -Date: Mon, 20 Aug 2012 15:28:44 +0200
190 -Subject: [PATCH] patch: CVE-2012-3403
191 -
192 -Squashed commit of the following:
193 -
194 -commit d002e513039a9667a06d3e2ba180f9c18785cc5f
195 -Author: Nils Philippsen <nils@××××××.com>
196 -Date: Fri Jul 13 15:47:16 2012 +0200
197 -
198 - file-cel: close file on error
199 -
200 -commit ec3f1fe7586527ea7e2735b5c8548b925f622d5b
201 -Author: Nils Philippsen <nils@××××××.com>
202 -Date: Fri Jul 13 15:33:27 2012 +0200
203 -
204 - file-cel: use g_set_error() for errors instead of g_message()
205 - (cherry picked from commit 86f4cd39bd493c88a7a19b56d1827d8b911e07f6)
206 -
207 - Conflicts:
208 - plug-ins/common/file-cel.c
209 -
210 -commit 79bd89bc39195974d5cae2c2b06c829dd90c36ee
211 -Author: Nils Philippsen <nils@××××××.com>
212 -Date: Fri Jul 13 15:30:44 2012 +0200
213 -
214 - file-cel: use statically allocated palette buffer
215 - (cherry picked from commit 69b98191cf315bcf0f7b8878896c01600e67c124)
216 -
217 -commit 52d85468980b5947cfd3e84f9a256769158210cc
218 -Author: Nils Philippsen <nils@××××××.com>
219 -Date: Fri Jul 13 15:20:06 2012 +0200
220 -
221 - file-cel: validate header data (CVE-2012-3403)
222 - (cherry picked from commit b772d1b84c9272bb46ab9a21db4390e6263c9892)
223 -
224 -commit 62da97876070839097671e83eb8f5d408515396f
225 -Author: Nils Philippsen <nils@××××××.com>
226 -Date: Thu Jul 12 15:50:02 2012 +0200
227 -
228 - file-cel: check fread()/g_fopen() return values and pass on errors
229 - (cherry picked from commit 797db58b94c64f418c35d38b7a608d933c8cebef)
230 ----
231 - plug-ins/common/file-cel.c | 283 +++++++++++++++++++++++++++++++++++++--------
232 - 1 file changed, 234 insertions(+), 49 deletions(-)
233 -
234 -diff --git a/plug-ins/common/file-cel.c b/plug-ins/common/file-cel.c
235 -index a94671c..3357561 100644
236 ---- a/plug-ins/common/file-cel.c
237 -+++ b/plug-ins/common/file-cel.c
238 -@@ -44,8 +44,10 @@ static void run (const gchar *name,
239 - gint *nreturn_vals,
240 - GimpParam **return_vals);
241 -
242 --static gint load_palette (FILE *fp,
243 -- guchar palette[]);
244 -+static gint load_palette (const gchar *file,
245 -+ FILE *fp,
246 -+ guchar palette[],
247 -+ GError **error);
248 - static gint32 load_image (const gchar *file,
249 - const gchar *brief,
250 - GError **error);
251 -@@ -55,7 +57,8 @@ static gboolean save_image (const gchar *file,
252 - gint32 layer,
253 - GError **error);
254 - static void palette_dialog (const gchar *title);
255 --static gboolean need_palette (const gchar *file);
256 -+static gboolean need_palette (const gchar *file,
257 -+ GError **error);
258 -
259 -
260 - /* Globals... */
261 -@@ -150,6 +153,7 @@ run (const gchar *name,
262 - gint32 image;
263 - GimpExportReturn export = GIMP_EXPORT_CANCEL;
264 - GError *error = NULL;
265 -+ gint needs_palette = 0;
266 -
267 - run_mode = param[0].data.d_int32;
268 -
269 -@@ -187,20 +191,32 @@ run (const gchar *name,
270 - else if (run_mode == GIMP_RUN_INTERACTIVE)
271 - {
272 - /* Let user choose KCF palette (cancel ignores) */
273 -- if (need_palette (param[1].data.d_string))
274 -- palette_dialog (_("Load KISS Palette"));
275 -+ needs_palette = need_palette (param[1].data.d_string, &error);
276 -
277 -- gimp_set_data (SAVE_PROC, palette_file, data_length);
278 -- }
279 -+ if (! error)
280 -+ {
281 -+ if (needs_palette)
282 -+ palette_dialog (_("Load KISS Palette"));
283 -
284 -- image = load_image (param[1].data.d_string, param[2].data.d_string,
285 -- &error);
286 -+ gimp_set_data (SAVE_PROC, palette_file, data_length);
287 -+ }
288 -+ }
289 -
290 -- if (image != -1)
291 -+ if (! error)
292 - {
293 -- *nreturn_vals = 2;
294 -- values[1].type = GIMP_PDB_IMAGE;
295 -- values[1].data.d_image = image;
296 -+ image = load_image (param[1].data.d_string, param[2].data.d_string,
297 -+ &error);
298 -+
299 -+ if (image != -1)
300 -+ {
301 -+ *nreturn_vals = 2;
302 -+ values[1].type = GIMP_PDB_IMAGE;
303 -+ values[1].data.d_image = image;
304 -+ }
305 -+ else
306 -+ {
307 -+ status = GIMP_PDB_EXECUTION_ERROR;
308 -+ }
309 - }
310 - else
311 - {
312 -@@ -263,18 +279,33 @@ run (const gchar *name,
313 -
314 - /* Peek into the file to determine whether we need a palette */
315 - static gboolean
316 --need_palette (const gchar *file)
317 -+need_palette (const gchar *file,
318 -+ GError **error)
319 - {
320 - FILE *fp;
321 - guchar header[32];
322 -+ size_t n_read;
323 -
324 - fp = g_fopen (file, "rb");
325 -- if (!fp)
326 -- return FALSE;
327 -+ if (fp == NULL)
328 -+ {
329 -+ g_set_error (error, G_FILE_ERROR, g_file_error_from_errno (errno),
330 -+ _("Could not open '%s' for reading: %s"),
331 -+ gimp_filename_to_utf8 (file), g_strerror (errno));
332 -+ return FALSE;
333 -+ }
334 -+
335 -+ n_read = fread (header, 32, 1, fp);
336 -
337 -- fread (header, 32, 1, fp);
338 - fclose (fp);
339 -
340 -+ if (n_read < 1)
341 -+ {
342 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
343 -+ _("EOF or error while reading image header"));
344 -+ return FALSE;
345 -+ }
346 -+
347 - return (header[5] < 32);
348 - }
349 -
350 -@@ -286,11 +317,12 @@ load_image (const gchar *file,
351 - GError **error)
352 - {
353 - FILE *fp; /* Read file pointer */
354 -- guchar header[32]; /* File header */
355 -+ guchar header[32], /* File header */
356 -+ file_mark, /* KiSS file type */
357 -+ bpp; /* Bits per pixel */
358 - gint height, width, /* Dimensions of image */
359 - offx, offy, /* Layer offets */
360 -- colours, /* Number of colours */
361 -- bpp; /* Bits per pixel */
362 -+ colours; /* Number of colours */
363 -
364 - gint32 image, /* Image */
365 - layer; /* Layer */
366 -@@ -301,6 +333,7 @@ load_image (const gchar *file,
367 - GimpPixelRgn pixel_rgn; /* Pixel region for layer */
368 -
369 - gint i, j, k; /* Counters */
370 -+ size_t n_read; /* Number of items read from file */
371 -
372 -
373 - /* Open the file for reading */
374 -@@ -319,7 +352,14 @@ load_image (const gchar *file,
375 -
376 - /* Get the image dimensions and create the image... */
377 -
378 -- fread (header, 4, 1, fp);
379 -+ n_read = fread (header, 4, 1, fp);
380 -+
381 -+ if (n_read < 1)
382 -+ {
383 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
384 -+ _("EOF or error while reading image header"));
385 -+ return -1;
386 -+ }
387 -
388 - if (strncmp ((const gchar *) header, "KiSS", 4))
389 - {
390 -@@ -332,18 +372,53 @@ load_image (const gchar *file,
391 - }
392 - else
393 - { /* New-style image file, read full header */
394 -- fread (header, 28, 1, fp);
395 -+ n_read = fread (header, 28, 1, fp);
396 -+
397 -+ if (n_read < 1)
398 -+ {
399 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
400 -+ _("EOF or error while reading image header"));
401 -+ return -1;
402 -+ }
403 -+
404 -+ file_mark = header[0];
405 -+ if (file_mark != 0x20 && file_mark != 0x21)
406 -+ {
407 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
408 -+ _("is not a CEL image file"));
409 -+ return -1;
410 -+ }
411 -+
412 - bpp = header[1];
413 -- if (bpp == 24)
414 -- colours = -1;
415 -- else
416 -- colours = (1 << header[1]);
417 -+ switch (bpp)
418 -+ {
419 -+ case 4:
420 -+ case 8:
421 -+ case 32:
422 -+ colours = (1 << bpp);
423 -+ break;
424 -+ default:
425 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
426 -+ _("illegal bpp value in image: %hhu"), bpp);
427 -+ return -1;
428 -+ }
429 -+
430 - width = header[4] + (256 * header[5]);
431 - height = header[6] + (256 * header[7]);
432 - offx = header[8] + (256 * header[9]);
433 - offy = header[10] + (256 * header[11]);
434 - }
435 -
436 -+ if ((width == 0) || (height == 0) || (width + offx > GIMP_MAX_IMAGE_SIZE) ||
437 -+ (height + offy > GIMP_MAX_IMAGE_SIZE))
438 -+ {
439 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
440 -+ _("illegal image dimensions: width: %d, horizontal offset: "
441 -+ "%d, height: %d, vertical offset: %d"),
442 -+ width, offx, height, offy);
443 -+ return -1;
444 -+ }
445 -+
446 - if (bpp == 32)
447 - image = gimp_image_new (width + offx, height + offy, GIMP_RGB);
448 - else
449 -@@ -351,7 +426,8 @@ load_image (const gchar *file,
450 -
451 - if (image == -1)
452 - {
453 -- g_message (_("Can't create a new image"));
454 -+ g_set_error (error, 0, 0, _("Can't create a new image"));
455 -+ fclose (fp);
456 - return -1;
457 - }
458 -
459 -@@ -383,7 +459,15 @@ load_image (const gchar *file,
460 - switch (bpp)
461 - {
462 - case 4:
463 -- fread (buffer, (width+1)/2, 1, fp);
464 -+ n_read = fread (buffer, (width+1)/2, 1, fp);
465 -+
466 -+ if (n_read < 1)
467 -+ {
468 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
469 -+ _("EOF or error while reading image data"));
470 -+ return -1;
471 -+ }
472 -+
473 - for (j = 0, k = 0; j < width*2; j+= 4, ++k)
474 - {
475 - if (buffer[k] / 16 == 0)
476 -@@ -410,7 +494,15 @@ load_image (const gchar *file,
477 - break;
478 -
479 - case 8:
480 -- fread (buffer, width, 1, fp);
481 -+ n_read = fread (buffer, width, 1, fp);
482 -+
483 -+ if (n_read < 1)
484 -+ {
485 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
486 -+ _("EOF or error while reading image data"));
487 -+ return -1;
488 -+ }
489 -+
490 - for (j = 0, k = 0; j < width*2; j+= 2, ++k)
491 - {
492 - if (buffer[k] == 0)
493 -@@ -427,7 +519,15 @@ load_image (const gchar *file,
494 - break;
495 -
496 - case 32:
497 -- fread (line, width*4, 1, fp);
498 -+ n_read = fread (line, width*4, 1, fp);
499 -+
500 -+ if (n_read < 1)
501 -+ {
502 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
503 -+ _("EOF or error while reading image data"));
504 -+ return -1;
505 -+ }
506 -+
507 - /* The CEL file order is BGR so we need to swap B and R
508 - * to get the Gimp RGB order.
509 - */
510 -@@ -440,7 +540,8 @@ load_image (const gchar *file,
511 - break;
512 -
513 - default:
514 -- g_message (_("Unsupported bit depth (%d)!"), bpp);
515 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
516 -+ _("Unsupported bit depth (%d)!"), bpp);
517 - return -1;
518 - }
519 -
520 -@@ -457,7 +558,7 @@ load_image (const gchar *file,
521 - if (bpp != 32)
522 - {
523 - /* Use palette from file or otherwise default grey palette */
524 -- palette = g_new (guchar, colours*3);
525 -+ guchar palette[256*3];
526 -
527 - /* Open the file for reading if user picked one */
528 - if (palette_file == NULL)
529 -@@ -467,12 +568,23 @@ load_image (const gchar *file,
530 - else
531 - {
532 - fp = g_fopen (palette_file, "r");
533 -+
534 -+ if (fp == NULL)
535 -+ {
536 -+ g_set_error (error, G_FILE_ERROR, g_file_error_from_errno (errno),
537 -+ _("Could not open '%s' for reading: %s"),
538 -+ gimp_filename_to_utf8 (palette_file),
539 -+ g_strerror (errno));
540 -+ return -1;
541 -+ }
542 - }
543 -
544 - if (fp != NULL)
545 - {
546 -- colours = load_palette (fp, palette);
547 -+ colours = load_palette (palette_file, fp, palette, error);
548 - fclose (fp);
549 -+ if (colours < 0 || *error)
550 -+ return -1;
551 - }
552 - else
553 - {
554 -@@ -483,10 +595,6 @@ load_image (const gchar *file,
555 - }
556 -
557 - gimp_image_set_colormap (image, palette + 3, colours - 1);
558 --
559 -- /* Close palette file, give back allocated memory */
560 --
561 -- g_free (palette);
562 - }
563 -
564 - /* Now get everything redrawn and hand back the finished image */
565 -@@ -498,32 +606,100 @@ load_image (const gchar *file,
566 - }
567 -
568 - static gint
569 --load_palette (FILE *fp,
570 -- guchar palette[])
571 -+load_palette (const gchar *file,
572 -+ FILE *fp,
573 -+ guchar palette[],
574 -+ GError **error)
575 - {
576 - guchar header[32]; /* File header */
577 - guchar buffer[2];
578 -- int i, bpp, colours= 0;
579 -+ guchar file_mark, bpp;
580 -+ gint i, colours = 0;
581 -+ size_t n_read;
582 -+
583 -+ n_read = fread (header, 4, 1, fp);
584 -+
585 -+ if (n_read < 1)
586 -+ {
587 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
588 -+ _("'%s': EOF or error while reading palette header"),
589 -+ gimp_filename_to_utf8 (file));
590 -+ return -1;
591 -+ }
592 -
593 -- fread (header, 4, 1, fp);
594 - if (!strncmp ((const gchar *) header, "KiSS", 4))
595 - {
596 -- fread (header+4, 28, 1, fp);
597 -+ n_read = fread (header+4, 28, 1, fp);
598 -+
599 -+ if (n_read < 1)
600 -+ {
601 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
602 -+ _("'%s': EOF or error while reading palette header"),
603 -+ gimp_filename_to_utf8 (file));
604 -+ return -1;
605 -+ }
606 -+
607 -+ file_mark = header[4];
608 -+ if (file_mark != 0x10)
609 -+ {
610 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
611 -+ _("'%s': is not a KCF palette file"),
612 -+ gimp_filename_to_utf8 (file));
613 -+ return -1;
614 -+ }
615 -+
616 - bpp = header[5];
617 -+ if (bpp != 12 && bpp != 24)
618 -+ {
619 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
620 -+ _("'%s': illegal bpp value in palette: %hhu"),
621 -+ gimp_filename_to_utf8 (file), bpp);
622 -+ return -1;
623 -+ }
624 -+
625 - colours = header[8] + header[9] * 256;
626 -- if (bpp == 12)
627 -+ if (colours != 16 && colours != 256)
628 -+ {
629 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
630 -+ _("'%s': illegal number of colors: %u"),
631 -+ gimp_filename_to_utf8 (file), colours);
632 -+ return -1;
633 -+ }
634 -+
635 -+ switch (bpp)
636 - {
637 -+ case 12:
638 - for (i = 0; i < colours; ++i)
639 - {
640 -- fread (buffer, 1, 2, fp);
641 -+ n_read = fread (buffer, 1, 2, fp);
642 -+
643 -+ if (n_read < 2)
644 -+ {
645 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
646 -+ _("'%s': EOF or error while reading "
647 -+ "palette data"),
648 -+ gimp_filename_to_utf8 (file));
649 -+ return -1;
650 -+ }
651 -+
652 - palette[i*3]= buffer[0] & 0xf0;
653 - palette[i*3+1]= (buffer[1] & 0x0f) * 16;
654 - palette[i*3+2]= (buffer[0] & 0x0f) * 16;
655 - }
656 -- }
657 -- else
658 -- {
659 -- fread (palette, colours, 3, fp);
660 -+ break;
661 -+ case 24:
662 -+ n_read = fread (palette, colours, 3, fp);
663 -+
664 -+ if (n_read < 3)
665 -+ {
666 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
667 -+ _("'%s': EOF or error while reading palette data"),
668 -+ gimp_filename_to_utf8 (file));
669 -+ return -1;
670 -+ }
671 -+ break;
672 -+ default:
673 -+ g_assert_not_reached ();
674 - }
675 - }
676 - else
677 -@@ -532,7 +708,16 @@ load_palette (FILE *fp,
678 - fseek (fp, 0, SEEK_SET);
679 - for (i= 0; i < colours; ++i)
680 - {
681 -- fread (buffer, 1, 2, fp);
682 -+ n_read = fread (buffer, 1, 2, fp);
683 -+
684 -+ if (n_read < 2)
685 -+ {
686 -+ g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
687 -+ _("'%s': EOF or error while reading palette data"),
688 -+ gimp_filename_to_utf8 (file));
689 -+ return -1;
690 -+ }
691 -+
692 - palette[i*3] = buffer[0] & 0xf0;
693 - palette[i*3+1] = (buffer[1] & 0x0f) * 16;
694 - palette[i*3+2] = (buffer[0] & 0x0f) * 16;
695 ---
696 -1.7.11.4
697 -
698
699 diff --git a/media-gfx/gimp/files/gimp-2.6.12-CVE-2012-3481.patch b/media-gfx/gimp/files/gimp-2.6.12-CVE-2012-3481.patch
700 deleted file mode 100644
701 index a5aee6a..00000000
702 --- a/media-gfx/gimp/files/gimp-2.6.12-CVE-2012-3481.patch
703 +++ /dev/null
704 @@ -1,56 +0,0 @@
705 -From 26b208c5aef5f7801bf0538f8df549f0bf8dcb92 Mon Sep 17 00:00:00 2001
706 -From: Nils Philippsen <nils@××××××.com>
707 -Date: Mon, 20 Aug 2012 15:30:33 +0200
708 -Subject: [PATCH] patch: CVE-2012-3481
709 -
710 -Squashed commit of the following:
711 -
712 -commit c56f3dc25cd4941f465e88bd91a0e107a4ac1b5e
713 -Author: Nils Philippsen <nils@××××××.com>
714 -Date: Tue Aug 14 15:27:39 2012 +0200
715 -
716 - file-gif-load: fix type overflow (CVE-2012-3481)
717 -
718 - Cast variables properly to avoid overflowing when computing how much
719 - memory to allocate.
720 - (cherry picked from commit 43fc9dbd8e2196944c8a71321e525b89b7df9f5c)
721 -
722 -commit 11e922a8cee5c9bb532e2a996d2db3beab6da6cb
723 -Author: Jan Lieskovsky <jlieskov@××××××.com>
724 -Date: Tue Aug 14 12:18:22 2012 +0200
725 -
726 - file-gif-load: limit len and height (CVE-2012-3481)
727 -
728 - Ensure values of len and height can't overflow g_malloc() argument type.
729 - (cherry picked from commit d95c2f0bcb6775bdee2bef35b7d84f6dfd490783)
730 ----
731 - plug-ins/common/file-gif-load.c | 11 +++++++++--
732 - 1 file changed, 9 insertions(+), 2 deletions(-)
733 -
734 -diff --git a/plug-ins/common/file-gif-load.c b/plug-ins/common/file-gif-load.c
735 -index 8460ec0..295c351 100644
736 ---- a/plug-ins/common/file-gif-load.c
737 -+++ b/plug-ins/common/file-gif-load.c
738 -@@ -1028,10 +1028,17 @@ ReadImage (FILE *fd,
739 - cur_progress = 0;
740 - max_progress = height;
741 -
742 -+ if (len > (G_MAXSIZE / height / (alpha_frame ? (promote_to_rgb ? 4 : 2) : 1)))
743 -+ {
744 -+ g_message ("'%s' has a larger image size than GIMP can handle.",
745 -+ gimp_filename_to_utf8 (filename));
746 -+ return -1;
747 -+ }
748 -+
749 - if (alpha_frame)
750 -- dest = (guchar *) g_malloc (len * height * (promote_to_rgb ? 4 : 2));
751 -+ dest = (guchar *) g_malloc ((gsize)len * (gsize)height * (promote_to_rgb ? 4 : 2));
752 - else
753 -- dest = (guchar *) g_malloc (len * height);
754 -+ dest = (guchar *) g_malloc ((gsize)len * (gsize)height);
755 -
756 - #ifdef GIFDEBUG
757 - g_print ("GIF: reading %d by %d%s GIF image, ncols=%d\n",
758 ---
759 -1.7.11.4
760 -
761
762 diff --git a/media-gfx/gimp/files/gimp-2.6.12-potfiles-skip.patch b/media-gfx/gimp/files/gimp-2.6.12-potfiles-skip.patch
763 deleted file mode 100644
764 index ee1b89a..00000000
765 --- a/media-gfx/gimp/files/gimp-2.6.12-potfiles-skip.patch
766 +++ /dev/null
767 @@ -1,17 +0,0 @@
768 -From: Julian Ospald <julian.ospald@××××××××××.com>
769 -Date: Fri Mar 2 17:29:14 CET 2012
770 -
771 -gimp-2.6.11 fails on FEATURES="test"
772 -correctly add "contactsheet.scm" and "test-sphere.scm" to POTFILES.skip
773 -
774 ---- po-script-fu/POTFILES.skip
775 -+++ po-script-fu/POTFILES.skip
776 -@@ -37,6 +37,8 @@
777 - plug-ins/pagecurl
778 - plug-ins/print
779 - plug-ins/pygimp
780 -+plug-ins/script-fu/scripts/contactsheet.scm
781 -+plug-ins/script-fu/scripts/test-sphere.scm
782 - plug-ins/selection-to-path
783 - plug-ins/twain
784 - plug-ins/win-snap
785
786 diff --git a/media-gfx/gimp/files/gimp-2.8.10-CVE-2013-1913.patch b/media-gfx/gimp/files/gimp-2.8.10-CVE-2013-1913.patch
787 deleted file mode 100644
788 index e257c69..00000000
789 --- a/media-gfx/gimp/files/gimp-2.8.10-CVE-2013-1913.patch
790 +++ /dev/null
791 @@ -1,31 +0,0 @@
792 -From 32ae0f83e5748299641cceaabe3f80f1b3afd03e Mon Sep 17 00:00:00 2001
793 -From: Nils Philippsen <nils@××××××.com>
794 -Date: Thu, 14 Nov 2013 14:29:01 +0100
795 -Subject: file-xwd: sanity check colormap size (CVE-2013-1913)
796 -
797 -
798 -diff --git a/plug-ins/common/file-xwd.c b/plug-ins/common/file-xwd.c
799 -index c8e1a6e..343129a 100644
800 ---- a/plug-ins/common/file-xwd.c
801 -+++ b/plug-ins/common/file-xwd.c
802 -@@ -466,6 +466,17 @@ load_image (const gchar *filename,
803 - /* Position to start of XWDColor structures */
804 - fseek (ifp, (long)xwdhdr.l_header_size, SEEK_SET);
805 -
806 -+ /* Guard against insanely huge color maps -- gimp_image_set_colormap() only
807 -+ * accepts colormaps with 0..256 colors anyway. */
808 -+ if (xwdhdr.l_colormap_entries > 256)
809 -+ {
810 -+ g_message (_("'%s':\nIllegal number of colormap entries: %ld"),
811 -+ gimp_filename_to_utf8 (filename),
812 -+ (long)xwdhdr.l_colormap_entries);
813 -+ fclose (ifp);
814 -+ return -1;
815 -+ }
816 -+
817 - if (xwdhdr.l_colormap_entries > 0)
818 - {
819 - xwdcolmap = g_new (L_XWDCOLOR, xwdhdr.l_colormap_entries);
820 ---
821 -cgit v0.10.1
822 -
823
824 diff --git a/media-gfx/gimp/files/gimp-2.8.10-CVE-2013-1978.patch b/media-gfx/gimp/files/gimp-2.8.10-CVE-2013-1978.patch
825 deleted file mode 100644
826 index 43b4bcb..00000000
827 --- a/media-gfx/gimp/files/gimp-2.8.10-CVE-2013-1978.patch
828 +++ /dev/null
829 @@ -1,151 +0,0 @@
830 -From 23f685931e5f000dd033a45c60c1e60d7f78caf4 Mon Sep 17 00:00:00 2001
831 -From: Nils Philippsen <nils@××××××.com>
832 -Date: Tue, 26 Nov 2013 10:49:42 +0100
833 -Subject: file-xwd: sanity check # of colors and map entries (CVE-2013-1978)
834 -
835 -The number of colors in an image shouldn't be higher than the number of
836 -colormap entries. Additionally, consolidate post error cleanup in
837 -load_image().
838 -
839 -diff --git a/plug-ins/common/file-xwd.c b/plug-ins/common/file-xwd.c
840 -index 343129a..4df9ce8 100644
841 ---- a/plug-ins/common/file-xwd.c
842 -+++ b/plug-ins/common/file-xwd.c
843 -@@ -429,9 +429,9 @@ static gint32
844 - load_image (const gchar *filename,
845 - GError **error)
846 - {
847 -- FILE *ifp;
848 -+ FILE *ifp = NULL;
849 - gint depth, bpp;
850 -- gint32 image_ID;
851 -+ gint32 image_ID = -1;
852 - L_XWDFILEHEADER xwdhdr;
853 - L_XWDCOLOR *xwdcolmap = NULL;
854 -
855 -@@ -441,7 +441,7 @@ load_image (const gchar *filename,
856 - g_set_error (error, G_FILE_ERROR, g_file_error_from_errno (errno),
857 - _("Could not open '%s' for reading: %s"),
858 - gimp_filename_to_utf8 (filename), g_strerror (errno));
859 -- return -1;
860 -+ goto out;
861 - }
862 -
863 - read_xwd_header (ifp, &xwdhdr);
864 -@@ -450,8 +450,7 @@ load_image (const gchar *filename,
865 - g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
866 - _("Could not read XWD header from '%s'"),
867 - gimp_filename_to_utf8 (filename));
868 -- fclose (ifp);
869 -- return -1;
870 -+ goto out;
871 - }
872 -
873 - #ifdef XWD_COL_WAIT_DEBUG
874 -@@ -473,12 +472,18 @@ load_image (const gchar *filename,
875 - g_message (_("'%s':\nIllegal number of colormap entries: %ld"),
876 - gimp_filename_to_utf8 (filename),
877 - (long)xwdhdr.l_colormap_entries);
878 -- fclose (ifp);
879 -- return -1;
880 -+ goto out;
881 - }
882 -
883 - if (xwdhdr.l_colormap_entries > 0)
884 - {
885 -+ if (xwdhdr.l_colormap_entries < xwdhdr.l_ncolors)
886 -+ {
887 -+ g_message (_("'%s':\nNumber of colormap entries < number of colors"),
888 -+ gimp_filename_to_utf8 (filename));
889 -+ goto out;
890 -+ }
891 -+
892 - xwdcolmap = g_new (L_XWDCOLOR, xwdhdr.l_colormap_entries);
893 -
894 - read_xwd_cols (ifp, &xwdhdr, xwdcolmap);
895 -@@ -498,9 +503,7 @@ load_image (const gchar *filename,
896 - if (xwdhdr.l_file_version != 7)
897 - {
898 - g_message (_("Can't read color entries"));
899 -- g_free (xwdcolmap);
900 -- fclose (ifp);
901 -- return (-1);
902 -+ goto out;
903 - }
904 - }
905 -
906 -@@ -508,9 +511,7 @@ load_image (const gchar *filename,
907 - {
908 - g_message (_("'%s':\nNo image width specified"),
909 - gimp_filename_to_utf8 (filename));
910 -- g_free (xwdcolmap);
911 -- fclose (ifp);
912 -- return (-1);
913 -+ goto out;
914 - }
915 -
916 - if (xwdhdr.l_pixmap_width > GIMP_MAX_IMAGE_SIZE
917 -@@ -518,27 +519,21 @@ load_image (const gchar *filename,
918 - {
919 - g_message (_("'%s':\nImage width is larger than GIMP can handle"),
920 - gimp_filename_to_utf8 (filename));
921 -- g_free (xwdcolmap);
922 -- fclose (ifp);
923 -- return (-1);
924 -+ goto out;
925 - }
926 -
927 - if (xwdhdr.l_pixmap_height <= 0)
928 - {
929 - g_message (_("'%s':\nNo image height specified"),
930 - gimp_filename_to_utf8 (filename));
931 -- g_free (xwdcolmap);
932 -- fclose (ifp);
933 -- return (-1);
934 -+ goto out;
935 - }
936 -
937 - if (xwdhdr.l_pixmap_height > GIMP_MAX_IMAGE_SIZE)
938 - {
939 - g_message (_("'%s':\nImage height is larger than GIMP can handle"),
940 - gimp_filename_to_utf8 (filename));
941 -- g_free (xwdcolmap);
942 -- fclose (ifp);
943 -- return (-1);
944 -+ goto out;
945 - }
946 -
947 - gimp_progress_init_printf (_("Opening '%s'"),
948 -@@ -591,11 +586,6 @@ load_image (const gchar *filename,
949 - }
950 - gimp_progress_update (1.0);
951 -
952 -- fclose (ifp);
953 --
954 -- if (xwdcolmap)
955 -- g_free (xwdcolmap);
956 --
957 - if (image_ID == -1 && ! (error && *error))
958 - g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
959 - _("XWD-file %s has format %d, depth %d and bits per pixel %d. "
960 -@@ -603,6 +593,17 @@ load_image (const gchar *filename,
961 - gimp_filename_to_utf8 (filename),
962 - (gint) xwdhdr.l_pixmap_format, depth, bpp);
963 -
964 -+out:
965 -+ if (ifp)
966 -+ {
967 -+ fclose (ifp);
968 -+ }
969 -+
970 -+ if (xwdcolmap)
971 -+ {
972 -+ g_free (xwdcolmap);
973 -+ }
974 -+
975 - return image_ID;
976 - }
977 -
978 ---
979 -cgit v0.10.1
980 -
981
982 diff --git a/media-gfx/gimp/files/gimp-2.8.10-freetype251.patch b/media-gfx/gimp/files/gimp-2.8.10-freetype251.patch
983 deleted file mode 100644
984 index c5c20d5..00000000
985 --- a/media-gfx/gimp/files/gimp-2.8.10-freetype251.patch
986 +++ /dev/null
987 @@ -1,26 +0,0 @@
988 -From 6c73f28b6d87a2afd11974552a075bffec52347f Mon Sep 17 00:00:00 2001
989 -From: Michael Natterer <mitch@××××.org>
990 -Date: Fri, 29 Nov 2013 21:57:46 +0100
991 -Subject: Bug 719560 - Build failure with freetype 2.5.1
992 -
993 -Apply patch from su-v that fixes the freetype include to
994 -the madness devised and recommended by freetype.
995 -
996 -diff --git a/app/text/gimpfont.c b/app/text/gimpfont.c
997 -index 4045ca9..66c6e52 100644
998 ---- a/app/text/gimpfont.c
999 -+++ b/app/text/gimpfont.c
1000 -@@ -28,7 +28,9 @@
1001 -
1002 - #define PANGO_ENABLE_ENGINE 1 /* Argh */
1003 - #include <pango/pango-ot.h>
1004 --#include <freetype/tttables.h>
1005 -+
1006 -+#include <ft2build.h>
1007 -+#include FT_TRUETYPE_TABLES_H
1008 -
1009 - #include "text-types.h"
1010 -
1011 ---
1012 -cgit v0.10.1
1013 -
1014
1015 diff --git a/media-gfx/gimp/files/gimp-curl-headers.diff b/media-gfx/gimp/files/gimp-curl-headers.diff
1016 deleted file mode 100644
1017 index ea8935d..00000000
1018 --- a/media-gfx/gimp/files/gimp-curl-headers.diff
1019 +++ /dev/null
1020 @@ -1,12 +0,0 @@
1021 -diff --git a/plug-ins/file-uri/uri-backend-libcurl.c b/plug-ins/file-uri/uri-backend-libcurl.c
1022 -index a566966..747dca7 100644
1023 ---- a/plug-ins/file-uri/uri-backend-libcurl.c
1024 -+++ b/plug-ins/file-uri/uri-backend-libcurl.c
1025 -@@ -24,7 +24,6 @@
1026 - #include <errno.h>
1027 -
1028 - #include <curl/curl.h>
1029 --#include <curl/types.h>
1030 - #include <curl/easy.h>
1031 -
1032 - #include <glib/gstdio.h>