if (p == NULL) {
ln = name;
ostr = value;
+ } else if (p == value) {
+ /* we started with a leading comma */
+ ln = name;
+ ostr = p + 1;
} else {
ln = value;
ostr = p + 1;
p--;
}
p++;
- if ((lntmp = OPENSSL_malloc((p - ln) + 1)) == NULL) {
- ERR_raise(ERR_LIB_ASN1, ERR_R_MALLOC_FAILURE);
+ if ((lntmp = OPENSSL_malloc((p - ln) + 1)) == NULL)
return 0;
- }
memcpy(lntmp, ln, p - ln);
lntmp[p - ln] = '\0';
ln = lntmp;