diff --git a/include/common/chunk.h b/include/common/chunk.h index a1a3eb779..18abca7bd 100644 --- a/include/common/chunk.h +++ b/include/common/chunk.h @@ -98,7 +98,7 @@ static inline void chunk_initstr(struct buffer *chk, const char *str) /* copies chunk into . Returns 0 in case of failure. */ static inline int chunk_cpy(struct buffer *chk, const struct buffer *src) { - if (unlikely(src->data >= chk->size)) + if (unlikely(src->data > chk->size)) return 0; chk->data = src->data; @@ -109,7 +109,7 @@ static inline int chunk_cpy(struct buffer *chk, const struct buffer *src) /* appends chunk after . Returns 0 in case of failure. */ static inline int chunk_cat(struct buffer *chk, const struct buffer *src) { - if (unlikely(chk->data + src->data >= chk->size)) + if (unlikely(chk->data + src->data > chk->size)) return 0; memcpy(chk->area + chk->data, src->area, src->data); @@ -123,7 +123,7 @@ static inline int chunk_cat(struct buffer *chk, const struct buffer *src) static inline int chunk_memcpy(struct buffer *chk, const char *src, size_t len) { - if (unlikely(len >= chk->size)) + if (unlikely(len > chk->size)) return 0; chk->data = len; @@ -138,7 +138,7 @@ static inline int chunk_memcpy(struct buffer *chk, const char *src, static inline int chunk_memcat(struct buffer *chk, const char *src, size_t len) { - if (unlikely(chk->data + len >= chk->size)) + if (unlikely(chk->data + len > chk->size)) return 0; memcpy(chk->area + chk->data, src, len);