Fix for d2i_ASN1_bytes and stop PKCS#7 routines crashing is signed message
contains no certificates. Also fix typo in RANLIB changes.
This commit is contained in:
parent
f846335657
commit
393f2c651d
10
CHANGES
10
CHANGES
@ -4,6 +4,16 @@
|
|||||||
|
|
||||||
Changes between 0.9.4 and 0.9.5 [xx XXX 1999]
|
Changes between 0.9.4 and 0.9.5 [xx XXX 1999]
|
||||||
|
|
||||||
|
*) Fix so PKCS7_dataVerify() doesn't crash if no certificates are contained
|
||||||
|
in the message. This was handled by allowing
|
||||||
|
X509_find_by_issuer_and_serial() to tolerate a NULL passed to it.
|
||||||
|
[Steve Henson, reported by Sampo Kellomaki <sampo@mail.neuronio.pt>]
|
||||||
|
|
||||||
|
*) Fix for bug in d2i_ASN1_bytes(): other ASN1 functions add an extra null
|
||||||
|
to the end of the strings whereas this didn't. This would cause problems
|
||||||
|
if strings read with d2i_ASN1_bytes() were later modified.
|
||||||
|
[Steve Henson, reported by Arne Ansper <arne@ats.cyber.ee>]
|
||||||
|
|
||||||
*) Fix for base64 decode bug. When a base64 bio reads only one line of
|
*) Fix for base64 decode bug. When a base64 bio reads only one line of
|
||||||
data and it contains EOF it will end up returning an error. This is
|
data and it contains EOF it will end up returning an error. This is
|
||||||
caused by input 46 bytes long. The cause is due to the way base64
|
caused by input 46 bytes long. The cause is due to the way base64
|
||||||
|
@ -342,7 +342,7 @@ install: all
|
|||||||
@for i in $(DIRS) ;\
|
@for i in $(DIRS) ;\
|
||||||
do \
|
do \
|
||||||
(cd $$i; echo "installing $$i..."; \
|
(cd $$i; echo "installing $$i..."; \
|
||||||
$(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALL_PREFIX='${INSTALL_PREFIX}' INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}' EX_LIBS='${EX_LIBS}' SDIRS='${SDIRS}' RANLIB='${RANLIB} install ); \
|
$(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALL_PREFIX='${INSTALL_PREFIX}' INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}' EX_LIBS='${EX_LIBS}' SDIRS='${SDIRS}' RANLIB='${RANLIB}' install ); \
|
||||||
done
|
done
|
||||||
@for i in $(LIBS) ;\
|
@for i in $(LIBS) ;\
|
||||||
do \
|
do \
|
||||||
|
@ -219,7 +219,7 @@ ASN1_STRING *d2i_ASN1_bytes(ASN1_STRING **a, unsigned char **pp, long length,
|
|||||||
if ((ret->length < len) || (ret->data == NULL))
|
if ((ret->length < len) || (ret->data == NULL))
|
||||||
{
|
{
|
||||||
if (ret->data != NULL) Free((char *)ret->data);
|
if (ret->data != NULL) Free((char *)ret->data);
|
||||||
s=(unsigned char *)Malloc((int)len);
|
s=(unsigned char *)Malloc((int)len + 1);
|
||||||
if (s == NULL)
|
if (s == NULL)
|
||||||
{
|
{
|
||||||
i=ERR_R_MALLOC_FAILURE;
|
i=ERR_R_MALLOC_FAILURE;
|
||||||
@ -229,6 +229,7 @@ ASN1_STRING *d2i_ASN1_bytes(ASN1_STRING **a, unsigned char **pp, long length,
|
|||||||
else
|
else
|
||||||
s=ret->data;
|
s=ret->data;
|
||||||
memcpy(s,p,(int)len);
|
memcpy(s,p,(int)len);
|
||||||
|
s[len] = '\0';
|
||||||
p+=len;
|
p+=len;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -207,6 +207,8 @@ X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk, X509_NAME *name,
|
|||||||
X509_CINF cinf;
|
X509_CINF cinf;
|
||||||
X509 x,*x509=NULL;
|
X509 x,*x509=NULL;
|
||||||
|
|
||||||
|
if(!sk) return NULL;
|
||||||
|
|
||||||
x.cert_info= &cinf;
|
x.cert_info= &cinf;
|
||||||
cinf.serialNumber=serial;
|
cinf.serialNumber=serial;
|
||||||
cinf.issuer=name;
|
cinf.issuer=name;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user