mirror of
https://passt.top/passt
synced 2025-05-25 10:35:35 +02:00
packet: Move checks against PACKET_MAX_LEN to packet_check_range()
Both the callers of packet_check_range() separately verify that the given length does not exceed PACKET_MAX_LEN. Fold that check into packet_check_range() instead. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
37d9f374d9
commit
961aa6a0eb
1 changed files with 6 additions and 13 deletions
19
packet.c
19
packet.c
|
@ -35,6 +35,12 @@
|
|||
static int packet_check_range(const struct pool *p, const char *ptr, size_t len,
|
||||
const char *func, int line)
|
||||
{
|
||||
if (len > PACKET_MAX_LEN) {
|
||||
trace("packet range length %zu (max %zu), %s:%i",
|
||||
len, PACKET_MAX_LEN, func, line);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (p->buf_size == 0) {
|
||||
int ret;
|
||||
|
||||
|
@ -100,11 +106,6 @@ void packet_add_do(struct pool *p, size_t len, const char *start,
|
|||
if (packet_check_range(p, start, len, func, line))
|
||||
return;
|
||||
|
||||
if (len > PACKET_MAX_LEN) {
|
||||
trace("add packet length %zu, %s:%i", len, func, line);
|
||||
return;
|
||||
}
|
||||
|
||||
p->pkt[idx].iov_base = (void *)start;
|
||||
p->pkt[idx].iov_len = len;
|
||||
|
||||
|
@ -136,14 +137,6 @@ void *packet_get_do(const struct pool *p, size_t idx, size_t offset,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (len > PACKET_MAX_LEN) {
|
||||
if (func) {
|
||||
trace("packet data length %zu, %s:%i",
|
||||
len, func, line);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (offset > p->pkt[idx].iov_len ||
|
||||
len > (p->pkt[idx].iov_len - offset)) {
|
||||
if (func) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue