- octet = ASN1_STRING_new();
- ASN1_OCTET_STRING_set(octet, buf, key_len);
+ if (pk_format != NULL && strcmp(pk_format, PK_WRAP_PARAM) == 0) {
+ ASN1_STRING *octet = NULL;
+ int priv_len = 0;
+ unsigned char *priv_buf = NULL;
+ octet = ASN1_STRING_new();
+ if (!octet || !ASN1_OCTET_STRING_set(octet, buf, key_len)) {
+ ASN1_STRING_free(octet);
+ ASN1_STRING_free(params);
+ OPENSSL_free(buf);
+ return 0;
+ }
+ priv_len = i2d_ASN1_OCTET_STRING(octet, &priv_buf);
+ ASN1_STRING_free(octet);
+ OPENSSL_free(buf);