diff options
| author | Linus Torvalds <[email protected]> | 2025-09-27 16:50:46 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2025-09-27 16:50:46 +0000 |
| commit | 51a24b7deaae5c3561965f5b4b27bb9d686add1c (patch) | |
| tree | 47ea6f98f27eea2b0d4e4a5d940c42bf097badd3 | |
| parent | Merge tag 'riscv-for-linus-v6.17-rc8' of git://git.kernel.org/pub/scm/linux/k... (diff) | |
| parent | rtla/actions: Fix condition for buffer reallocation (diff) | |
| download | kernel-51a24b7deaae5c3561965f5b4b27bb9d686add1c.tar.gz kernel-51a24b7deaae5c3561965f5b4b27bb9d686add1c.zip | |
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
| -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; |
