X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fasn1%2Fevp_asn1.c;h=1b9445973e49e803f57d2e927bff7a0b9f12704b;hp=8878ec3ec63b200b42fb7faad6a3676f84143528;hb=d2aea038297e0c64ca66e6844cbb37377365885e;hpb=5e4430e70df0020f5f1517249851696cb9ac4ad2 diff --git a/crypto/asn1/evp_asn1.c b/crypto/asn1/evp_asn1.c index 8878ec3ec6..1b9445973e 100644 --- a/crypto/asn1/evp_asn1.c +++ b/crypto/asn1/evp_asn1.c @@ -61,19 +61,23 @@ #include #include -int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, size_t len) +int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len) { ASN1_STRING *os; if ((os=M_ASN1_OCTET_STRING_new()) == NULL) return(0); - if (!M_ASN1_OCTET_STRING_set(os,data,len)) return(0); + if (!M_ASN1_OCTET_STRING_set(os,data,len)) + { + M_ASN1_OCTET_STRING_free(os); + return 0; + } ASN1_TYPE_set(a,V_ASN1_OCTET_STRING,os); return(1); } /* int max_len: for returned value */ int ASN1_TYPE_get_octetstring(ASN1_TYPE *a, unsigned char *data, - size_t max_len) + int max_len) { int ret,num; unsigned char *p; @@ -94,7 +98,7 @@ int ASN1_TYPE_get_octetstring(ASN1_TYPE *a, unsigned char *data, } int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, unsigned char *data, - size_t len) + int len) { int n,size; ASN1_OCTET_STRING os,*osp; @@ -136,13 +140,13 @@ int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, unsigned char *data, * case, set it to zero */ /* int max_len: for returned value */ int ASN1_TYPE_get_int_octetstring(ASN1_TYPE *a, long *num, unsigned char *data, - size_t max_len) + int max_len) { int ret= -1,n; ASN1_INTEGER *ai=NULL; ASN1_OCTET_STRING *os=NULL; const unsigned char *p; - size_t length; + long length; ASN1_const_CTX c; if ((a->type != V_ASN1_SEQUENCE) || (a->value.sequence == NULL))