diff options
Diffstat (limited to 'src/lib/libcrypto/pkcs7/pk7_lib.c')
| -rw-r--r-- | src/lib/libcrypto/pkcs7/pk7_lib.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/libcrypto/pkcs7/pk7_lib.c b/src/lib/libcrypto/pkcs7/pk7_lib.c index c00ed6833a..985b07245c 100644 --- a/src/lib/libcrypto/pkcs7/pk7_lib.c +++ b/src/lib/libcrypto/pkcs7/pk7_lib.c | |||
| @@ -74,6 +74,13 @@ long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg) | |||
| 74 | if (nid == NID_pkcs7_signed) | 74 | if (nid == NID_pkcs7_signed) |
| 75 | { | 75 | { |
| 76 | ret=p7->detached=(int)larg; | 76 | ret=p7->detached=(int)larg; |
| 77 | if (ret && PKCS7_type_is_data(p7->d.sign->contents)) | ||
| 78 | { | ||
| 79 | ASN1_OCTET_STRING *os; | ||
| 80 | os=p7->d.sign->contents->d.data; | ||
| 81 | ASN1_OCTET_STRING_free(os); | ||
| 82 | p7->d.sign->contents->d.data = NULL; | ||
| 83 | } | ||
| 77 | } | 84 | } |
| 78 | else | 85 | else |
| 79 | { | 86 | { |
