From b8d42d02104aa5ecdfc58189bc02bf2359450d80 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 20 Sep 2018 11:11:15 +0200 Subject: [PATCH] BUILD: stream: address null-deref build warnings at -Wextra These warnings are caused by the improper use of stktable_data_ptr() whose result is not checked instead of using __stktable_data_ptr(). --- src/stream.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/stream.c b/src/stream.c index cc307453a..b7eb5db74 100644 --- a/src/stream.c +++ b/src/stream.c @@ -1441,7 +1441,7 @@ static int process_sticking_rules(struct stream *s, struct channel *req, int an_ /* srv found in table */ HA_RWLOCK_RDLOCK(STK_SESS_LOCK, &ts->lock); - ptr = stktable_data_ptr(rule->table.t, ts, STKTABLE_DT_SERVER_ID); + ptr = __stktable_data_ptr(rule->table.t, ts, STKTABLE_DT_SERVER_ID); node = eb32_lookup(&px->conf.used_server_id, stktable_data_cast(ptr, server_id)); HA_RWLOCK_RDUNLOCK(STK_SESS_LOCK, &ts->lock); if (node) { @@ -1568,8 +1568,8 @@ static int process_store_rules(struct stream *s, struct channel *rep, int an_bit s->store[i].ts = NULL; HA_RWLOCK_WRLOCK(STK_SESS_LOCK, &ts->lock); - ptr = stktable_data_ptr(s->store[i].table, ts, STKTABLE_DT_SERVER_ID); - stktable_data_cast(ptr, server_id) = objt_server(s->target)->puid; + ptr = __stktable_data_ptr(s->store[i].table, ts, STKTABLE_DT_SERVER_ID); + stktable_data_cast(ptr, server_id) = __objt_server(s->target)->puid; HA_RWLOCK_WRUNLOCK(STK_SESS_LOCK, &ts->lock); stktable_touch_local(s->store[i].table, ts, 1); }