pointer in struct tracecmd_compression is 'unsigned long', which is 8 byte in size on most platforms, but the tep_read_number() call in the next line treats it as a 4 byte value. As there's no need for unsigned long change the type to unsigned int. Fixes: 3f8447b1 ("trace-cmd library: Add support for compression algorithms") Signed-off-by: Sven Schnelle <svens@xxxxxxxxxxxxx> --- lib/trace-cmd/trace-compress.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/trace-cmd/trace-compress.c b/lib/trace-cmd/trace-compress.c index a63295e..461de8d 100644 --- a/lib/trace-cmd/trace-compress.c +++ b/lib/trace-cmd/trace-compress.c @@ -32,7 +32,7 @@ struct tracecmd_compression { int fd; unsigned int capacity; unsigned int capacity_read; - unsigned long pointer; + unsigned int pointer; char *buffer; struct compress_proto *proto; struct tep_handle *tep; -- 2.36.1