X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/665b5651a8ac6a10de9cacbdb1af51134abcdb97..a90e99737eceb0041b83d95895b6d46eea41124f:/cpack.c diff --git a/cpack.c b/cpack.c index d2e765d4..c921b390 100644 --- a/cpack.c +++ b/cpack.c @@ -32,12 +32,13 @@ #endif #include +#include #include #include "cpack.h" #include "extract.h" -static u_int8_t * +u_int8_t * cpack_next_boundary(u_int8_t *buf, u_int8_t *p, size_t alignment) { size_t misalignment = (size_t)(p - buf) % alignment; @@ -52,7 +53,7 @@ cpack_next_boundary(u_int8_t *buf, u_int8_t *p, size_t alignment) * wordsize bytes remain in the buffer after the boundary. Otherwise, * return a pointer to the boundary. */ -static u_int8_t * +u_int8_t * cpack_align_and_reserve(struct cpack_state *cs, size_t wordsize) { u_int8_t *next; @@ -132,7 +133,7 @@ int cpack_uint8(struct cpack_state *cs, u_int8_t *u) { /* No space left? */ - if (cs->c_next - cs->c_buf >= cs->c_len) + if ((size_t)(cs->c_next - cs->c_buf) >= cs->c_len) return -1; *u = *cs->c_next;