summaryrefslogtreecommitdiff
path: root/dev-db/mongodb/files/mongodb-2.4-fix-sasl.patch
blob: 553967e8dedd558efe686befa1a986d4982184cf (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
--- a/src/mongo/client/sasl_client_session.cpp	2014-10-15 00:40:29.000000000 +0400
+++ b/src/mongo/client/sasl_client_session.cpp	2015-02-07 18:56:02.287762467 +0300
@@ -29,17 +29,26 @@
      * doesn't initialize the library for us.
      */
 
-    void* saslOurMalloc(unsigned long sz) {
+// Version 2.1.26 is the first version to use size_t in the allocator signatures
+#if (SASL_VERSION_FULL >= ((2 << 16) | (1 << 8) | 26))
+    typedef size_t SaslAllocSize;
+#else
+    typedef unsigned long SaslAllocSize;
+#endif
+
+    typedef int(*SaslCallbackFn)();
+
+    void* saslOurMalloc(SaslAllocSize sz) {
         return ourmalloc(sz);
     }
 
-    void* saslOurCalloc(unsigned long count, unsigned long size) {
+    void* saslOurCalloc(SaslAllocSize count, SaslAllocSize size) {
         void* ptr = calloc(count, size);
-        if (!ptr) printStackAndExit(0);
+        if (!ptr) abort();
         return ptr;
     }
 
-    void* saslOurRealloc(void* ptr, unsigned long sz) {
+    void* saslOurRealloc(void* ptr, SaslAllocSize sz) {
         return ourrealloc(ptr, sz);
     }