dynbuf: assert init on free

Add a DEBUGASSERT() in Curl_dyn_free() that checks that Curl_dyn_init()
has been performed before.

Fix code places that did it wrong.

Fixes #16725
Closes #16775
This commit is contained in:
Stefan Eissing 2025-03-20 10:31:30 +01:00 committed by Daniel Stenberg
parent cd7eb9e0f2
commit 646b2d6ca2
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
17 changed files with 222 additions and 163 deletions

View file

@ -156,10 +156,10 @@ CURLcode Curl_auth_decode_spnego_message(struct Curl_easy *data,
}
/* Set channel binding data if available */
if(nego->channel_binding_data.leng > 0) {
if(Curl_dyn_len(&nego->channel_binding_data)) {
memset(&chan, 0, sizeof(struct gss_channel_bindings_struct));
chan.application_data.length = nego->channel_binding_data.leng;
chan.application_data.value = nego->channel_binding_data.bufr;
chan.application_data.length = Curl_dyn_len(&nego->channel_binding_data);
chan.application_data.value = Curl_dyn_ptr(&nego->channel_binding_data);
chan_bindings = &chan;
}