mirror of
https://github.com/netdata/libbpf.git
synced 2026-03-20 16:29:07 +08:00
libbpf: fix potential overflow in ring__consume_n()
ringbuf_process_ring() return int64_t, while ring__consume_n() assigns
it to int. It's highly unlikely, but possible for ringbuf_process_ring()
to return value larger than INT_MAX, so use int64_t. ring__consume_n()
does check INT_MAX before returning int result to the user.
Fixes: 4d22ea94ea33 ("libbpf: Add ring__consume_n / ring_buffer__consume_n")
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Link: https://lore.kernel.org/r/20240430201952.888293-1-andrii@kernel.org
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
This commit is contained in:
committed by
Andrii Nakryiko
parent
f3c4172c61
commit
e3e84bd7d0
@@ -405,7 +405,7 @@ int ring__map_fd(const struct ring *r)
|
||||
|
||||
int ring__consume_n(struct ring *r, size_t n)
|
||||
{
|
||||
int res;
|
||||
int64_t res;
|
||||
|
||||
res = ringbuf_process_ring(r, n);
|
||||
if (res < 0)
|
||||
|
||||
Reference in New Issue
Block a user