diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2025-09-27 09:50:46 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2025-09-27 09:50:46 -0700 |
commit | 51a24b7deaae5c3561965f5b4b27bb9d686add1c (patch) | |
tree | 47ea6f98f27eea2b0d4e4a5d940c42bf097badd3 /tools/tracing/rtla/src/actions.c | |
parent | fec734e8d564d55fb6bd4909ae2e68814d21d0a1 (diff) | |
parent | 2227f273b7dc25a791ae6b152550098aa6934b2f (diff) |
Merge tag 'trace-tools-v6.17-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
Pull rtla tool fixes from Steven Rostedt:
- Fix a buffer overflow in actions_parse()
The "trigger_c" variable did not account for the nul byte when
determining its size
- Fix a compare that had the values reversed
actions_destroy() is supposed to reallocate when len is greater than
the current size, but the compare was testing if size is greater than
the new length
* tag 'trace-tools-v6.17-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
rtla/actions: Fix condition for buffer reallocation
rtla: Fix buffer overflow in actions_parse
Diffstat (limited to 'tools/tracing/rtla/src/actions.c')
-rw-r--r-- | tools/tracing/rtla/src/actions.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/tracing/rtla/src/actions.c b/tools/tracing/rtla/src/actions.c index aaf0808125d7..13ff1934d47c 100644 --- a/tools/tracing/rtla/src/actions.c +++ b/tools/tracing/rtla/src/actions.c @@ -49,7 +49,7 @@ actions_destroy(struct actions *self) static struct action * actions_new(struct actions *self) { - if (self->size >= self->len) { + if (self->len >= self->size) { self->size *= 2; self->list = realloc(self->list, self->size * sizeof(struct action)); } @@ -131,7 +131,7 @@ actions_parse(struct actions *self, const char *trigger) { enum action_type type = ACTION_NONE; char *token; - char trigger_c[strlen(trigger)]; + char trigger_c[strlen(trigger) + 1]; /* For ACTION_SIGNAL */ int signal = 0, pid = 0; |