X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/6ec714988caac3bf9fedc766ae51a2248896ec80..refs/heads/coverity_scan:/cpack.c diff --git a/cpack.c b/cpack.c index 7628a5c3..84d24009 100644 --- a/cpack.c +++ b/cpack.c @@ -27,19 +27,19 @@ * OF SUCH DAMAGE. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif +#include #include #include -#include +#include "netdissect-stdinc.h" -#include "cpack.h" +#include "netdissect.h" #include "extract.h" +#include "cpack.h" + const uint8_t * -cpack_next_boundary(const uint8_t *buf, const uint8_t *p, size_t alignment) +nd_cpack_next_boundary(const uint8_t *buf, const uint8_t *p, size_t alignment) { size_t misalignment = (size_t)(p - buf) % alignment; @@ -54,12 +54,12 @@ cpack_next_boundary(const uint8_t *buf, const uint8_t *p, size_t alignment) * return a pointer to the boundary. */ const uint8_t * -cpack_align_and_reserve(struct cpack_state *cs, size_t wordsize) +nd_cpack_align_and_reserve(struct cpack_state *cs, size_t wordsize) { const uint8_t *next; /* Ensure alignment. */ - next = cpack_next_boundary(cs->c_buf, cs->c_next, wordsize); + next = nd_cpack_next_boundary(cs->c_buf, cs->c_next, wordsize); /* Too little space for wordsize bytes? */ if (next - cs->c_buf + wordsize > cs->c_len) @@ -70,7 +70,7 @@ cpack_align_and_reserve(struct cpack_state *cs, size_t wordsize) /* Advance by N bytes without returning them. */ int -cpack_advance(struct cpack_state *cs, const size_t toskip) +nd_cpack_advance(struct cpack_state *cs, const size_t toskip) { /* No space left? */ if (cs->c_next - cs->c_buf + toskip > cs->c_len) @@ -80,7 +80,7 @@ cpack_advance(struct cpack_state *cs, const size_t toskip) } int -cpack_init(struct cpack_state *cs, const uint8_t *buf, size_t buflen) +nd_cpack_init(struct cpack_state *cs, const uint8_t *buf, size_t buflen) { memset(cs, 0, sizeof(*cs)); @@ -93,14 +93,14 @@ cpack_init(struct cpack_state *cs, const uint8_t *buf, size_t buflen) /* Unpack a 64-bit unsigned integer. */ int -cpack_uint64(struct cpack_state *cs, uint64_t *u) +nd_cpack_uint64(netdissect_options *ndo, struct cpack_state *cs, uint64_t *u) { const uint8_t *next; - if ((next = cpack_align_and_reserve(cs, sizeof(*u))) == NULL) + if ((next = nd_cpack_align_and_reserve(cs, sizeof(*u))) == NULL) return -1; - *u = EXTRACT_LE_U_8(next); + *u = GET_LE_U_8(next); /* Move pointer past the uint64_t. */ cs->c_next = next + sizeof(*u); @@ -109,14 +109,14 @@ cpack_uint64(struct cpack_state *cs, uint64_t *u) /* Unpack a 64-bit signed integer. */ int -cpack_int64(struct cpack_state *cs, int64_t *u) +nd_cpack_int64(netdissect_options *ndo, struct cpack_state *cs, int64_t *u) { const uint8_t *next; - if ((next = cpack_align_and_reserve(cs, sizeof(*u))) == NULL) + if ((next = nd_cpack_align_and_reserve(cs, sizeof(*u))) == NULL) return -1; - *u = EXTRACT_LE_S_8(next); + *u = GET_LE_S_8(next); /* Move pointer past the int64_t. */ cs->c_next = next + sizeof(*u); @@ -125,14 +125,14 @@ cpack_int64(struct cpack_state *cs, int64_t *u) /* Unpack a 32-bit unsigned integer. */ int -cpack_uint32(struct cpack_state *cs, uint32_t *u) +nd_cpack_uint32(netdissect_options *ndo, struct cpack_state *cs, uint32_t *u) { const uint8_t *next; - if ((next = cpack_align_and_reserve(cs, sizeof(*u))) == NULL) + if ((next = nd_cpack_align_and_reserve(cs, sizeof(*u))) == NULL) return -1; - *u = EXTRACT_LE_U_4(next); + *u = GET_LE_U_4(next); /* Move pointer past the uint32_t. */ cs->c_next = next + sizeof(*u); @@ -141,14 +141,14 @@ cpack_uint32(struct cpack_state *cs, uint32_t *u) /* Unpack a 32-bit signed integer. */ int -cpack_int32(struct cpack_state *cs, int32_t *u) +nd_cpack_int32(netdissect_options *ndo, struct cpack_state *cs, int32_t *u) { const uint8_t *next; - if ((next = cpack_align_and_reserve(cs, sizeof(*u))) == NULL) + if ((next = nd_cpack_align_and_reserve(cs, sizeof(*u))) == NULL) return -1; - *u = EXTRACT_LE_S_4(next); + *u = GET_LE_S_4(next); /* Move pointer past the int32_t. */ cs->c_next = next + sizeof(*u); @@ -157,14 +157,14 @@ cpack_int32(struct cpack_state *cs, int32_t *u) /* Unpack a 16-bit unsigned integer. */ int -cpack_uint16(struct cpack_state *cs, uint16_t *u) +nd_cpack_uint16(netdissect_options *ndo, struct cpack_state *cs, uint16_t *u) { const uint8_t *next; - if ((next = cpack_align_and_reserve(cs, sizeof(*u))) == NULL) + if ((next = nd_cpack_align_and_reserve(cs, sizeof(*u))) == NULL) return -1; - *u = EXTRACT_LE_U_2(next); + *u = GET_LE_U_2(next); /* Move pointer past the uint16_t. */ cs->c_next = next + sizeof(*u); @@ -173,14 +173,14 @@ cpack_uint16(struct cpack_state *cs, uint16_t *u) /* Unpack a 16-bit signed integer. */ int -cpack_int16(struct cpack_state *cs, int16_t *u) +nd_cpack_int16(netdissect_options *ndo, struct cpack_state *cs, int16_t *u) { const uint8_t *next; - if ((next = cpack_align_and_reserve(cs, sizeof(*u))) == NULL) + if ((next = nd_cpack_align_and_reserve(cs, sizeof(*u))) == NULL) return -1; - *u = EXTRACT_LE_S_2(next); + *u = GET_LE_S_2(next); /* Move pointer past the int16_t. */ cs->c_next = next + sizeof(*u); @@ -189,13 +189,13 @@ cpack_int16(struct cpack_state *cs, int16_t *u) /* Unpack an 8-bit unsigned integer. */ int -cpack_uint8(struct cpack_state *cs, uint8_t *u) +nd_cpack_uint8(netdissect_options *ndo, struct cpack_state *cs, uint8_t *u) { /* No space left? */ if ((size_t)(cs->c_next - cs->c_buf) >= cs->c_len) return -1; - *u = EXTRACT_U_1(cs->c_next); + *u = GET_U_1(cs->c_next); /* Move pointer past the uint8_t. */ cs->c_next++; @@ -204,13 +204,13 @@ cpack_uint8(struct cpack_state *cs, uint8_t *u) /* Unpack an 8-bit signed integer. */ int -cpack_int8(struct cpack_state *cs, int8_t *u) +nd_cpack_int8(netdissect_options *ndo, struct cpack_state *cs, int8_t *u) { /* No space left? */ if ((size_t)(cs->c_next - cs->c_buf) >= cs->c_len) return -1; - *u = EXTRACT_S_1(cs->c_next); + *u = GET_S_1(cs->c_next); /* Move pointer past the int8_t. */ cs->c_next++;