"Overload" SunOS 4.x memcmp, which ruins ASN1_OBJECT table lookups.
PR: 1196 Submitted by: Russel Ruby
This commit is contained in:
parent
6f9afa68cd
commit
7a06050cd3
@ -59,6 +59,7 @@
|
|||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include "cryptlib.h"
|
||||||
#include <openssl/asn1.h>
|
#include <openssl/asn1.h>
|
||||||
#include <openssl/asn1t.h>
|
#include <openssl/asn1t.h>
|
||||||
#include <openssl/objects.h>
|
#include <openssl/objects.h>
|
||||||
|
@ -94,3 +94,12 @@ int OPENSSL_strcasecmp(const char *str1, const char *str2)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int OPENSSL_memcmp(const void *v1,const void *v2,size_t n)
|
||||||
|
{
|
||||||
|
const unsigned char *c1=v1,*c2=v2;
|
||||||
|
int ret=0;
|
||||||
|
|
||||||
|
while(n && (ret=*c1-*c2)==0) n--,c1++,c2++;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
@ -63,5 +63,6 @@
|
|||||||
|
|
||||||
int OPENSSL_strcasecmp(const char *str1, const char *str2);
|
int OPENSSL_strcasecmp(const char *str1, const char *str2);
|
||||||
int OPENSSL_strncasecmp(const char *str1, const char *str2, size_t n);
|
int OPENSSL_strncasecmp(const char *str1, const char *str2, size_t n);
|
||||||
|
int OPENSSL_memcmp(const void *p1,const void *p2,size_t n);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
3
e_os.h
3
e_os.h
@ -565,6 +565,9 @@ extern HINSTANCE _hInstance;
|
|||||||
extern char *sys_errlist[]; extern int sys_nerr;
|
extern char *sys_errlist[]; extern int sys_nerr;
|
||||||
# define strerror(errnum) \
|
# define strerror(errnum) \
|
||||||
(((errnum)<0 || (errnum)>=sys_nerr) ? NULL : sys_errlist[errnum])
|
(((errnum)<0 || (errnum)>=sys_nerr) ? NULL : sys_errlist[errnum])
|
||||||
|
/* Being signed SunOS 4.x memcpy breaks ASN1_OBJECT table lookup */
|
||||||
|
#include "o_str.h"
|
||||||
|
# define memcmp OPENSSL_memcmp
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef OPENSSL_EXIT
|
#ifndef OPENSSL_EXIT
|
||||||
|
Loading…
x
Reference in New Issue
Block a user