#endif
/* Corrupt a signature by modifying final byte */
-int corrupt_signature(ASN1_STRING *signature)
+void corrupt_signature(const ASN1_STRING *signature)
{
- unsigned char *s;
- size_t slen = ASN1_STRING_length(signature);
-
- s = OPENSSL_memdup(ASN1_STRING_get0_data(signature), slen);
- if (s == NULL)
- return 0;
- s[slen - 1] ^= 0x1;
- ASN1_STRING_set0(signature, s, slen);
- return 1;
+ unsigned char *s = signature->data;
+ s[signature->length - 1] ^= 0x1;
}
int has_stdin_waiting(void);
# endif
-int corrupt_signature(ASN1_STRING *signature);
+void corrupt_signature(const ASN1_STRING *signature);
/*
* Common verification options.
ASN1_BIT_STRING *sig;
X509_CRL_get0_signature(&sig, NULL, x);
- if (!corrupt_signature(sig))
- goto end;
+ corrupt_signature(sig);
}
if (num) {
OCSP_basic_sign(bs, rcert, rkey, rmd, rother, flags);
if (badsig) {
- ASN1_OCTET_STRING *sig = OCSP_resp_get0_signature(bs);
- if (!corrupt_signature(sig))
- goto end;
+ const ASN1_OCTET_STRING *sig = OCSP_resp_get0_signature(bs);
+ corrupt_signature(sig);
}
*resp = OCSP_response_create(OCSP_RESPONSE_STATUS_SUCCESSFUL, bs);
if (badsig) {
ASN1_BIT_STRING *signature;
X509_get0_signature(&signature, NULL, x);
- if (!corrupt_signature(signature))
- goto end;
+ corrupt_signature(signature);
}
if (num) {