From: Aurelien DARRAGON Date: Mon, 3 Jun 2024 13:24:27 +0000 (+0200) Subject: MINOR: stktable: avoid ambiguous stktable_data_ptr() usage in cli_io_handler_table() X-Git-Tag: v3.1-dev1~80 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8860c22c00f1545c12e45be0628c12a735ceb505;p=thirdparty%2Fhaproxy.git MINOR: stktable: avoid ambiguous stktable_data_ptr() usage in cli_io_handler_table() As reported by @Bbulatov in GH #2586, stktable_data_ptr() return value is used without checking it isn't NULL first, which may happen if the given type is invalid or not stored in the table. However, since date_type is set by table_prepare_data_request() right before cli_io_handler_table() is invoked, date_type is not expected to be invalid: table_prepare_data_request() normally checked that the type is stored inside the table. Thus stktable_data_ptr() should not be failing at this point, so we add a BUG_ON() to indicate that. --- diff --git a/src/stick_table.c b/src/stick_table.c index 08a22e4085..ff19709d63 100644 --- a/src/stick_table.c +++ b/src/stick_table.c @@ -5597,6 +5597,10 @@ static int cli_io_handler_table(struct appctx *appctx) ptr = stktable_data_ptr(ctx->t, ctx->entry, dt); + /* table_prepare_data_request() normally ensures the + * type is both valid and stored + */ + BUG_ON(!ptr); data = 0; switch (stktable_data_types[dt].std_type) {