gnu: Add Combinatorial BLAS.
[jackhill/guix/guix.git] / gnu / packages / patches / giflib-make-reallocarray-private.patch
CommitLineData
7ac43c44
HG
1Move the declaration from gif_lib.h to gif_lib_private.h to solve
2conflicts when some .c-file #includes both stdlib.h and gif_lib.h.
3See also https://sourceforge.net/p/giflib/bugs/110/
4
5diff -ur giflib-5.1.4.orig/lib/dgif_lib.c giflib-5.1.4/lib/dgif_lib.c
6--- giflib-5.1.4.orig/lib/dgif_lib.c 2018-02-28 20:31:02.294682673 +0100
7+++ giflib-5.1.4/lib/dgif_lib.c 2018-02-28 22:38:11.659126414 +0100
8@@ -396,7 +396,7 @@
9
10 if (GifFile->SavedImages) {
11 SavedImage* new_saved_images =
12- (SavedImage *)reallocarray(GifFile->SavedImages,
13+ (SavedImage *)giflib_private_reallocarray(GifFile->SavedImages,
14 (GifFile->ImageCount + 1), sizeof(SavedImage));
15 if (new_saved_images == NULL) {
16 GifFile->Error = D_GIF_ERR_NOT_ENOUGH_MEM;
17@@ -1108,7 +1108,7 @@
18 if (ImageSize > (SIZE_MAX / sizeof(GifPixelType))) {
19 return GIF_ERROR;
20 }
21- sp->RasterBits = (unsigned char *)reallocarray(NULL, ImageSize,
22+ sp->RasterBits = (unsigned char *)giflib_private_reallocarray(NULL, ImageSize,
23 sizeof(GifPixelType));
24
25 if (sp->RasterBits == NULL) {
26diff -ur giflib-5.1.4.orig/lib/gifalloc.c giflib-5.1.4/lib/gifalloc.c
27--- giflib-5.1.4.orig/lib/gifalloc.c 2018-02-28 20:31:02.294682673 +0100
28+++ giflib-5.1.4/lib/gifalloc.c 2018-02-28 22:38:11.657126423 +0100
29@@ -8,7 +8,7 @@
30 #include <stdio.h>
31 #include <string.h>
32
33-#include "gif_lib.h"
34+#include "gif_lib_private.h"
35
36 #define MAX(x, y) (((x) > (y)) ? (x) : (y))
37
38@@ -188,7 +188,7 @@
39
40 /* perhaps we can shrink the map? */
41 if (RoundUpTo < ColorUnion->ColorCount) {
42- GifColorType *new_map = (GifColorType *)reallocarray(Map,
43+ GifColorType *new_map = (GifColorType *)giflib_private_reallocarray(Map,
44 RoundUpTo, sizeof(GifColorType));
45 if( new_map == NULL ) {
46 GifFreeMapObject(ColorUnion);
47@@ -232,7 +232,7 @@
48 if (*ExtensionBlocks == NULL)
49 *ExtensionBlocks=(ExtensionBlock *)malloc(sizeof(ExtensionBlock));
50 else {
51- ExtensionBlock* ep_new = (ExtensionBlock *)reallocarray
52+ ExtensionBlock* ep_new = (ExtensionBlock *)giflib_private_reallocarray
53 (*ExtensionBlocks, (*ExtensionBlockCount + 1),
54 sizeof(ExtensionBlock));
55 if( ep_new == NULL )
56@@ -325,7 +325,7 @@
57 if (GifFile->SavedImages == NULL)
58 GifFile->SavedImages = (SavedImage *)malloc(sizeof(SavedImage));
59 else
60- GifFile->SavedImages = (SavedImage *)reallocarray(GifFile->SavedImages,
61+ GifFile->SavedImages = (SavedImage *)giflib_private_reallocarray(GifFile->SavedImages,
62 (GifFile->ImageCount + 1), sizeof(SavedImage));
63
64 if (GifFile->SavedImages == NULL)
65@@ -355,7 +355,7 @@
66 }
67
68 /* next, the raster */
69- sp->RasterBits = (unsigned char *)reallocarray(NULL,
70+ sp->RasterBits = (unsigned char *)giflib_private_reallocarray(NULL,
71 (CopyFrom->ImageDesc.Height *
72 CopyFrom->ImageDesc.Width),
73 sizeof(GifPixelType));
74@@ -369,7 +369,7 @@
75
76 /* finally, the extension blocks */
77 if (sp->ExtensionBlocks != NULL) {
78- sp->ExtensionBlocks = (ExtensionBlock *)reallocarray(NULL,
79+ sp->ExtensionBlocks = (ExtensionBlock *)giflib_private_reallocarray(NULL,
80 CopyFrom->ExtensionBlockCount,
81 sizeof(ExtensionBlock));
82 if (sp->ExtensionBlocks == NULL) {
83diff -ur giflib-5.1.4.orig/lib/gif_lib.h giflib-5.1.4/lib/gif_lib.h
84--- giflib-5.1.4.orig/lib/gif_lib.h 2018-02-28 20:31:02.294682673 +0100
85+++ giflib-5.1.4/lib/gif_lib.h 2018-02-28 20:31:43.135716712 +0100
86@@ -244,9 +244,6 @@
87 GifPixelType ColorTransIn2[]);
88 extern int GifBitSize(int n);
89
90-extern void *
91-reallocarray(void *optr, size_t nmemb, size_t size);
92-
93 /******************************************************************************
94 Support for the in-core structures allocation (slurp mode).
95 ******************************************************************************/
96diff -ur giflib-5.1.4.orig/lib/gif_lib_private.h giflib-5.1.4/lib/gif_lib_private.h
97--- giflib-5.1.4.orig/lib/gif_lib_private.h 2018-02-28 20:31:02.294682673 +0100
98+++ giflib-5.1.4/lib/gif_lib_private.h 2018-02-28 22:38:11.657126423 +0100
99@@ -54,6 +54,9 @@
100 bool gif89;
101 } GifFilePrivateType;
102
103+extern void *
104+giflib_private_reallocarray(void *optr, size_t nmemb, size_t size);
105+
106 #endif /* _GIF_LIB_PRIVATE_H */
107
108 /* end */
109diff -ur giflib-5.1.4.orig/lib/openbsd-reallocarray.c giflib-5.1.4/lib/openbsd-reallocarray.c
110--- giflib-5.1.4.orig/lib/openbsd-reallocarray.c 2018-02-28 20:31:02.295682659 +0100
111+++ giflib-5.1.4/lib/openbsd-reallocarray.c 2018-02-28 22:38:11.656126428 +0100
112@@ -27,7 +27,7 @@
113 #define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4))
114
115 void *
116-reallocarray(void *optr, size_t nmemb, size_t size)
117+giflib_private_reallocarray(void *optr, size_t nmemb, size_t size)
118 {
119 if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) &&
120 nmemb > 0 && SIZE_MAX / nmemb < size) {