From: Willy Tarreau Date: Thu, 31 Jan 2019 06:31:18 +0000 (+0100) Subject: MINOR: htx: never check for null htx pointer in htx_is_{,not_}empty() X-Git-Tag: v2.0-dev1~100 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e5fcfbed5cbeba61a7de8cbe36f68f0138b95062;p=thirdparty%2Fhaproxy.git MINOR: htx: never check for null htx pointer in htx_is_{,not_}empty() The previous patch clarifies the fact that the htx pointer is never null along all the code. This test for a null will never match, didn't catch the pointer 1 before the fix for b_is_null(), but it confuses the compiler letting it think that any dereferences made to this pointer after this test could actually mean we're dereferencing a null. Let's now drop this test. This saves us from having to add impossible tests everywhere to avoid the warning. This should be backported to 1.9 if the b_is_null() patch is backported. --- diff --git a/include/common/htx.h b/include/common/htx.h index 36941401dc..79a9a1330b 100644 --- a/include/common/htx.h +++ b/include/common/htx.h @@ -734,16 +734,20 @@ static inline void htx_to_buf(struct htx *htx, struct buffer *buf) b_set_data(buf, b_size(buf)); } -/* Returns 1 if the message is empty, otherwise it returns 0. */ +/* Returns 1 if the message is empty, otherwise it returns 0. Note that it is + * illegal to call this with htx == NULL. + */ static inline int htx_is_empty(const struct htx *htx) { - return (!htx || !htx->used); + return !htx->used; } -/* Returns 1 if the message is not empty, otherwise it returns 0. */ +/* Returns 1 if the message is not empty, otherwise it returns 0. Note that it + * is illegal to call this with htx == NULL. + */ static inline int htx_is_not_empty(const struct htx *htx) { - return (htx && htx->used); + return htx->used; } /* For debugging purpose */