Commit a0890f9d authored by Wander Lairson Costa's avatar Wander Lairson Costa Committed by Tomas Glozar
Browse files

rtla: Fix NULL pointer dereference in actions_parse



The actions_parse() function uses strtok() to tokenize the trigger
string, but does not check if the returned token is NULL before
passing it to strcmp(). If the trigger parameter is an empty string
or contains only delimiter characters, strtok() returns NULL, causing
strcmp() to dereference a NULL pointer and crash the program.

This issue can be triggered by malformed user input or edge cases in
trigger string parsing. Add a NULL check immediately after the strtok()
call to validate that a token was successfully extracted before using
it. If no token is found, the function now returns -1 to indicate a
parsing error.

Signed-off-by: default avatarWander Lairson Costa <wander@redhat.com>
Link: https://lore.kernel.org/r/20260106133655.249887-13-wander@redhat.com


Signed-off-by: default avatarTomas Glozar <tglozar@redhat.com>
parent f3cc3e4b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -141,6 +141,8 @@ actions_parse(struct actions *self, const char *trigger, const char *tracefn)

	strcpy(trigger_c, trigger);
	token = strtok(trigger_c, ",");
	if (!token)
		return -1;

	if (strcmp(token, "trace") == 0)
		type = ACTION_TRACE_OUTPUT;