]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: hlua: fix ambiguous hlua usage in hlua_filter_delete()
authorAurelien DARRAGON <adarragon@haproxy.com>
Mon, 2 Dec 2024 15:44:00 +0000 (16:44 +0100)
committerAurelien DARRAGON <adarragon@haproxy.com>
Mon, 2 Dec 2024 16:22:51 +0000 (17:22 +0100)
commit70b5cd67948e2e70be5d373aa2b843fdd2ff8fdf
treeb3c3319de30e1957568a97d2c224bab0632c9a88
parentb167426b6bf64f1c5ade38dfe4bf12379170a8b7
MINOR: hlua: fix ambiguous hlua usage in hlua_filter_delete()

In GH #2804, @Bbulatov reported that the result of hlua_stream_ctx_get()
was used and de-referenced without checking if it's NULL in
hlua_filter_delete() while other functions used to check for NULL before
de-referencing it.

In fact hlua_stream_ctx_get() can only return NULL if
hlua_stream_ctx_prepare() failed or was not called on the current stream.

Now because of the filter's API, since hlua_filter_delete() is mapped as
detach method and hlua_filter_new() as attach method, and since
hlua_filter_new() is responsible for calling hlua_stream_ctx_prepare(),
there's no reason hlua_filter_delete() should be called if
hlua_filter_new() failed or wasn't called. Thus we can assume that hlua
can never be NULL in hlua_filter_delete(), so we add a BUG_ON() to ensure
it is always the case and remove the ambiguity.
src/hlua.c