X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fasn1%2Fa_object.c;h=20caa2d3bde6a2f28ba4793b3d1e8399d7c4d237;hb=9ef9e78520eba0fb3d92b581dc4f895a5f464387;hp=3873b98902e2abc0d3b310db9f9a2444e08ebe50;hpb=284ef5f35710b9fbff82abc20cced66d2dcff7c1;p=oweals%2Fopenssl.git diff --git a/crypto/asn1/a_object.c b/crypto/asn1/a_object.c index 3873b98902..20caa2d3bd 100644 --- a/crypto/asn1/a_object.c +++ b/crypto/asn1/a_object.c @@ -65,11 +65,12 @@ int i2d_ASN1_OBJECT(ASN1_OBJECT *a, unsigned char **pp) { unsigned char *p; + int objsize; if ((a == NULL) || (a->data == NULL)) return(0); - if (pp == NULL) - return(ASN1_object_size(0,a->length,V_ASN1_OBJECT)); + objsize = ASN1_object_size(0,a->length,V_ASN1_OBJECT); + if (pp == NULL) return objsize; p= *pp; ASN1_put_object(&p,0,a->length,V_ASN1_OBJECT,V_ASN1_UNIVERSAL); @@ -77,7 +78,7 @@ int i2d_ASN1_OBJECT(ASN1_OBJECT *a, unsigned char **pp) p+=a->length; *pp=p; - return(a->length); + return(objsize); } int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num)