diff options
Diffstat (limited to 'dev-db/mongodb/files/mongodb-2.4-fix-sasl.patch')
| -rw-r--r-- | dev-db/mongodb/files/mongodb-2.4-fix-sasl.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/dev-db/mongodb/files/mongodb-2.4-fix-sasl.patch b/dev-db/mongodb/files/mongodb-2.4-fix-sasl.patch new file mode 100644 index 000000000000..553967e8dedd --- /dev/null +++ b/dev-db/mongodb/files/mongodb-2.4-fix-sasl.patch @@ -0,0 +1,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); + } + |
