lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 24 May 2012 10:19:03 -0700 From: tip-bot for Namhyung Kim <namhyung.kim@....com> To: linux-tip-commits@...r.kernel.org Cc: acme@...hat.com, linux-kernel@...r.kernel.org, paulus@...ba.org, hpa@...or.com, mingo@...nel.org, a.p.zijlstra@...llo.nl, namhyung.kim@....com, namhyung@...il.com, bp@...en8.de, fweisbec@...il.com, rostedt@...dmis.org, dsahern@...il.com, tglx@...utronix.de Subject: [tip:perf/urgent] tools lib traceevent: Fix freeing arg on process_dynamic_array() Commit-ID: b3511d0530c7a2b4fa64d1f5218c5f073ae7b543 Gitweb: http://git.kernel.org/tip/b3511d0530c7a2b4fa64d1f5218c5f073ae7b543 Author: Namhyung Kim <namhyung.kim@....com> AuthorDate: Wed, 23 May 2012 11:36:50 +0900 Committer: Arnaldo Carvalho de Melo <acme@...hat.com> CommitDate: Thu, 24 May 2012 11:33:53 -0300 tools lib traceevent: Fix freeing arg on process_dynamic_array() The @arg paremeter should not be freed inside of process_XXX(), because it'd be freed from the caller of process_arg(). We can free it only after it was reused for local usage. Cc: Borislav Petkov <bp@...en8.de> Cc: David Ahern <dsahern@...il.com> Cc: Frederic Weisbecker <fweisbec@...il.com> Cc: Ingo Molnar <mingo@...nel.org> Cc: Namhyung Kim <namhyung@...il.com> Cc: Paul Mackerras <paulus@...ba.org> Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl> Link: http://lkml.kernel.org/r/1337740619-27925-14-git-send-email-namhyung.kim@lge.com Signed-off-by: Namhyung Kim <namhyung.kim@....com> Signed-off-by: Steven Rostedt <rostedt@...dmis.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@...hat.com> --- tools/lib/traceevent/event-parse.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c index 445a43a..3559027 100644 --- a/tools/lib/traceevent/event-parse.c +++ b/tools/lib/traceevent/event-parse.c @@ -2300,17 +2300,18 @@ process_dynamic_array(struct event_format *event, struct print_arg *arg, char ** arg = alloc_arg(); type = process_arg(event, arg, &token); if (type == EVENT_ERROR) - goto out_free; + goto out_free_arg; if (!test_type_token(type, token, EVENT_OP, "]")) - goto out_free; + goto out_free_arg; free_token(token); type = read_token_item(tok); return type; + out_free_arg: + free_arg(arg); out_free: - free(arg); free_token(token); *tok = NULL; return EVENT_ERROR; -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists