]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: htx: never check for null htx pointer in htx_is_{,not_}empty()
authorWilly Tarreau <w@1wt.eu>
Thu, 31 Jan 2019 06:31:18 +0000 (07:31 +0100)
committerWilly Tarreau <w@1wt.eu>
Thu, 31 Jan 2019 07:07:17 +0000 (08:07 +0100)
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.

include/common/htx.h

index 36941401dc5376fd6c151f550d5a13233b570786..79a9a1330b218a1ac39387aec15344eb1850df0e 100644 (file)
@@ -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 */