/*
+ * Copyright (C) 2004, 2006 Free Software Foundation
* Copyright (C) 2002 Fabio Fiorina
- * Copyright (C) 2004 Simon Josefsson
*
* This file is part of LIBASN1.
*
char temp[20];
if(str==NULL) return;
- str_len=_asn1_get_length_der(der,&len_len);
+ str_len=_asn1_get_length_der(der,*der_len,&len_len);
+ if (str_len<0) return;
memcpy(temp,der+len_len,str_len);
*der_len=str_len+len_len;
switch(str_len){
/* extraction and length */
len2=_asn1_get_length_der(der+counter,der_len-counter,&len);
+ if (len2<0) return;
counter+=len+len2;
p_vet->end=counter;
counter+=len;
len2=_asn1_get_length_der(der+counter,der_len-counter,&len);
+ if (len2<0) return;
counter+=len+len2;
}
return ASN1_VALUE_NOT_FOUND;
}
len2=_asn1_get_length_der(p->value,p->value_len, &len3);
+ if (len2<0) return ASN1_DER_ERROR;
max_len -= len2+len3;
if(max_len>=0)
memcpy(der+counter,p->value,len3+len2);
return ASN1_VALUE_NOT_FOUND;
}
len2=_asn1_get_length_der(p->value,p->value_len,&len3);
+ if (len2<0) return ASN1_DER_ERROR;
max_len-=len2+len3;
if(max_len>=0)
memcpy(der+counter,p->value,len3+len2);
return ASN1_VALUE_NOT_FOUND;
}
len2=_asn1_get_length_der(p->value,p->value_len,&len3);
+ if (len2<0) return ASN1_DER_ERROR;
max_len-=len2+len3;
if(max_len>=0)
memcpy(der+counter,p->value,len3+len2);
return ASN1_VALUE_NOT_FOUND;
}
len2=_asn1_get_length_der(p->value,p->value_len,&len3);
+ if (len2<0) return ASN1_DER_ERROR;
max_len-=len2+len3;
if(max_len>=0)
memcpy(der+counter,p->value,len3+len2);
return ASN1_VALUE_NOT_FOUND;
}
len2=_asn1_get_length_der(p->value,p->value_len,&len3);
+ if (len2<0) return ASN1_DER_ERROR;
max_len-=len2;
if(max_len>=0)
memcpy(der+counter,p->value+len3,len2);