summaryrefslogtreecommitdiff
blob: dc472153ca6b5fdc9af15575921856b19cab0549 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
vdupras note: exact same patch as in
https://bugs.ghostscript.com/show_bug.cgi?id=699395 except for tweaked
diff paths.
From 5fb79e6ccb805b3d94c8bb8eb0990d9944ae7602 Mon Sep 17 00:00:00 2001
Message-Id: <5fb79e6ccb805b3d94c8bb8eb0990d9944ae7602.1528041417.git.mjg@fedoraproject.org>
From: Michael J Gruber <mjg@fedoraproject.org>
Date: Sun, 3 Jun 2018 17:55:46 +0200
Subject: [PATCH] fix build on big endian

0dc1153 ("Spread of context into all procedures and removal from
structures", 2017-04-26) missed a few spots that are relevant on big
endian only.

Add the missing ContextIDs in the call chain so that the build succeeds
again.

Signed-off-by: Michael J Gruber <mjg@fedoraproject.org>
---
 src/cmsmd5.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/cmsmd5.c b/src/cmsmd5.c
index 4b8f7f9..dd0925a 100644
--- a/thirdparty/lcms2/src/cmsmd5.c
+++ b/thirdparty/lcms2/src/cmsmd5.c
@@ -29,7 +29,7 @@
 #ifdef CMS_USE_BIG_ENDIAN
 
 static
-void byteReverse(cmsUInt8Number * buf, cmsUInt32Number longs)
+void byteReverse(cmsContext ContextID, cmsUInt8Number * buf, cmsUInt32Number longs)
 {
     do {
 
@@ -42,7 +42,7 @@ void byteReverse(cmsUInt8Number * buf, cmsUInt32Number longs)
 }
 
 #else
-#define byteReverse(buf, len)
+#define byteReverse(ContextID, buf, len)
 #endif
 
 
@@ -172,7 +172,7 @@ cmsHANDLE  MD5alloc(cmsContext ContextID)
 
 
 static
-void MD5add(cmsHANDLE Handle, cmsUInt8Number* buf, cmsUInt32Number len)
+void MD5add(cmsContext ContextID, cmsHANDLE Handle, cmsUInt8Number* buf, cmsUInt32Number len)
 {
     _cmsMD5* ctx = (_cmsMD5*) Handle;
     cmsUInt32Number t;
@@ -196,7 +196,7 @@ void MD5add(cmsHANDLE Handle, cmsUInt8Number* buf, cmsUInt32Number len)
         }
 
         memmove(p, buf, t);
-        byteReverse(ctx->in, 16);
+        byteReverse(ContextID, ctx->in, 16);
 
         MD5_Transform(ctx->buf, (cmsUInt32Number *) ctx->in);
         buf += t;
@@ -205,7 +205,7 @@ void MD5add(cmsHANDLE Handle, cmsUInt8Number* buf, cmsUInt32Number len)
 
     while (len >= 64) {
         memmove(ctx->in, buf, 64);
-        byteReverse(ctx->in, 16);
+        byteReverse(ContextID, ctx->in, 16);
         MD5_Transform(ctx->buf, (cmsUInt32Number *) ctx->in);
         buf += 64;
         len -= 64;
@@ -216,7 +216,7 @@ void MD5add(cmsHANDLE Handle, cmsUInt8Number* buf, cmsUInt32Number len)
 
 // Destroy the object and return the checksum
 static
-void MD5finish(cmsProfileID* ProfileID,  cmsHANDLE Handle)
+void MD5finish(cmsContext ContextID, cmsProfileID* ProfileID,  cmsHANDLE Handle)
 {
     _cmsMD5* ctx = (_cmsMD5*) Handle;
     cmsUInt32Number count;
@@ -232,21 +232,21 @@ void MD5finish(cmsProfileID* ProfileID,  cmsHANDLE Handle)
     if (count < 8) {
 
         memset(p, 0, count);
-        byteReverse(ctx->in, 16);
+        byteReverse(ContextID, ctx->in, 16);
         MD5_Transform(ctx->buf, (cmsUInt32Number *) ctx->in);
 
         memset(ctx->in, 0, 56);
     } else {
         memset(p, 0, count - 8);
     }
-    byteReverse(ctx->in, 14);
+    byteReverse(ContextID, ctx->in, 14);
 
     ((cmsUInt32Number *) ctx->in)[14] = ctx->bits[0];
     ((cmsUInt32Number *) ctx->in)[15] = ctx->bits[1];
 
     MD5_Transform(ctx->buf, (cmsUInt32Number *) ctx->in);
 
-    byteReverse((cmsUInt8Number *) ctx->buf, 4);
+    byteReverse(ContextID, (cmsUInt8Number *) ctx->buf, 4);
     memmove(ProfileID ->ID8, ctx->buf, 16);
 
     _cmsFree(ctx ->ContextID, ctx);
@@ -291,7 +291,7 @@ cmsBool CMSEXPORT cmsMD5computeID(cmsContext ContextID, cmsHPROFILE hProfile)
     if (MD5 == NULL) goto Error;
 
     // Add all bytes
-    MD5add(MD5, Mem, BytesNeeded);
+    MD5add(ContextID,MD5, Mem, BytesNeeded);
 
     // Temp storage is no longer needed
     _cmsFree(ContextID, Mem);
@@ -300,7 +300,7 @@ cmsBool CMSEXPORT cmsMD5computeID(cmsContext ContextID, cmsHPROFILE hProfile)
     memmove(Icc, &Keep, sizeof(_cmsICCPROFILE));
 
     // And store the ID
-    MD5finish(&Icc ->ProfileID,  MD5);
+    MD5finish(ContextID, &Icc ->ProfileID,  MD5);
     return TRUE;
 
 Error:
-- 
2.18.0.rc0.294.g786209a621