Commit
9b2717e7b ("MINOR: stktable: use {show,set,clear} table with ptr")
stores a pointer in a long long (64bit), which fails the cas to void* on
32-bit platforms:
src/stick_table.c: In function 'table_process_entry_per_ptr':
src/stick_table.c:5136:37: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
5136 | ts = stktable_lookup_ptr(t, (void *)ptr);
On all our supported platforms, longs and pointers are of the same size,
so let's just turn this to a ulong instead.
{
struct show_table_ctx *ctx = appctx->svcctx;
struct stktable *t = ctx->target;
- long long int ptr;
+ ulong ptr;
char *error;
struct stksess *ts;
return cli_err(appctx, "Pointer expected (0xffff notation)\n");
/* Convert argument to integer value */
- ptr = strtoll(args[4], &error, 16);
+ ptr = strtoul(args[4], &error, 16);
if (*error != '\0')
return cli_err(appctx, "Malformed ptr.\n");