X-Git-Url: https://git.distorted.org.uk/~mdw/mLib/blobdiff_plain/18c831dcd0ae4d660c70ccac69d27ed2a97851be..f868c4327d366a7e142e27ffbaa383d75aef6c1b:/struct/buf.c diff --git a/struct/buf.c b/struct/buf.c index 1ac6bb9..bd16ec7 100644 --- a/struct/buf.c +++ b/struct/buf.c @@ -31,6 +31,7 @@ #include #include "buf.h" +#include "macros.h" /*----- Main code ---------------------------------------------------------*/ @@ -246,6 +247,7 @@ static int findz(buf *b, size_t *nn) { \ uint##n sz; \ if (buf_getu##w(b, &sz)) return (0); \ + if (BENSURE(b, sz)) return (0); \ *nn = sz; \ return (buf_get(b, sz)); \ } @@ -273,7 +275,9 @@ void *buf_getmemz(buf *b, size_t *nn) #define BUF_PUTMEM_(n, W, w) \ int buf_putmem##w(buf *b, const void *p, size_t sz) \ { \ - assert(sz <= MASK##W); \ + MUFFLE_WARNINGS_STMT \ + (CLANG_WARNING("-Wtautological-constant-out-of-range-compare"), \ + { assert(sz <= MASK##W); }); \ if (buf_putu##w(b, sz) || buf_put(b, p, sz)) \ return (-1); \ return (0); \