#include <openssl/asn1.h>
#include <openssl/asn1_mac.h>
-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;
}
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;
* 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;