[PATCH 23/23 v3] tools lib traceevent: Handle possible strdup() error in tep_add_plugin_path() API

From: Steven Rostedt
Date: Tue Jul 21 2020 - 21:18:26 EST


From: "Tzvetomir Stoyanov (VMware)" <tz.stoyanov@xxxxxxxxx>

Free allocated resources and return -1 in case strdup() fails in
tep_add_plugin_path() API.

Link: https://lore.kernel.org/r/CAM9d7chfvJwodpVrHGc5E2J80peRojmYV_fD8x3cpn9HFRUw2g@xxxxxxxxxxxxxx
Link: https://lore.kernel.org/linux-trace-devel/20200714103027.2477584-9-tz.stoyanov@xxxxxxxxx
Link: https://lore.kernel.org/linux-trace-devel/20200716092014.2613403-9-tz.stoyanov@xxxxxxxxx

Suggested-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx>
Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@xxxxxxxxx>
Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
---
tools/lib/traceevent/event-plugin.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/tools/lib/traceevent/event-plugin.c b/tools/lib/traceevent/event-plugin.c
index f0877a7e3e8d..e7c2acb8680f 100644
--- a/tools/lib/traceevent/event-plugin.c
+++ b/tools/lib/traceevent/event-plugin.c
@@ -665,6 +665,10 @@ int tep_add_plugin_path(struct tep_handle *tep, char *path,
return -1;

dir->path = strdup(path);
+ if (!dir->path) {
+ free(dir);
+ return -1;
+ }
dir->prio = prio;
dir->next = tep->plugins_dir;
tep->plugins_dir = dir;
--
2.26.2