Temporarily restore sk_pop_free_ex This is a temporary workaround for b/291994116 Bug: b:291994116 Change-Id: I5b0372e07cf3bdf4b6a5b4b37dabea828ad026a8 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/61885 Auto-Submit: David Benjamin <davidben@google.com> Commit-Queue: David Benjamin <davidben@google.com> Reviewed-by: Bob Beck <bbe@google.com>
diff --git a/crypto/stack/stack.c b/crypto/stack/stack.c index 0bb5041..a326eb7 100644 --- a/crypto/stack/stack.c +++ b/crypto/stack/stack.c
@@ -532,3 +532,8 @@ size_t sk_push(OPENSSL_STACK *sk, void *p) { return OPENSSL_sk_push(sk, p); } void *sk_pop(OPENSSL_STACK *sk) { return OPENSSL_sk_pop(sk); } + +void sk_pop_free_ex(OPENSSL_STACK *sk, OPENSSL_sk_call_free_func call_free_func, + OPENSSL_sk_free_func free_func) { + OPENSSL_sk_pop_free_ex(sk, call_free_func, free_func); +}
diff --git a/include/openssl/stack.h b/include/openssl/stack.h index 812bccf..100b1db 100644 --- a/include/openssl/stack.h +++ b/include/openssl/stack.h
@@ -344,9 +344,16 @@ OPENSSL_EXPORT size_t sk_push(OPENSSL_STACK *sk, void *p); OPENSSL_EXPORT void *sk_pop(OPENSSL_STACK *sk); -// sk_pop_free behaves like |sk_pop_free_ex| but performs an invalid function -// pointer cast. It exists because some existing callers called |sk_pop_free| -// directly. +// sk_pop_free_ex calls |OPENSSL_sk_pop_free_ex|. +// +// TODO(b/291994116): Remove this. +OPENSSL_EXPORT void sk_pop_free_ex(OPENSSL_STACK *sk, + OPENSSL_sk_call_free_func call_free_func, + OPENSSL_sk_free_func free_func); + +// sk_pop_free behaves like |OPENSSL_sk_pop_free_ex| but performs an invalid +// function pointer cast. It exists because some existing callers called +// |sk_pop_free| directly. // // TODO(davidben): Migrate callers to bssl::UniquePtr and remove this. OPENSSL_EXPORT void sk_pop_free(OPENSSL_STACK *sk,