Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 082739aa authored by Daniel Borkmann's avatar Daniel Borkmann Committed by David S. Miller
Browse files

tools: bpf_jit_disasm: fix segfault on disabled debugging log output



With recent debugging, I noticed that bpf_jit_disasm segfaults when
there's no debugging output from the JIT compiler to the kernel log.

Reason is that when regexec(3) doesn't match on anything, start/end
offsets are not being filled out and contain some uninitialized garbage
from stack. Thus, we need zero out offsets first.

Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b48732e4
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -123,6 +123,8 @@ static int get_last_jit_image(char *haystack, size_t hlen,
	assert(ret == 0);
	assert(ret == 0);


	ptr = haystack;
	ptr = haystack;
	memset(pmatch, 0, sizeof(pmatch));

	while (1) {
	while (1) {
		ret = regexec(&regex, ptr, 1, pmatch, 0);
		ret = regexec(&regex, ptr, 1, pmatch, 0);
		if (ret == 0) {
		if (ret == 0) {