From: Hui Zhu Date: Sat, 10 Dec 2011 09:41:19 +0000 (+0000) Subject: 2011-12-10 Hui Zhu X-Git-Tag: gdb_7_4-2011-12-13-branchpoint~33 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=df5a4bd3a546613628d251202271ea2d10ba8608;p=thirdparty%2Fbinutils-gdb.git 2011-12-10 Hui Zhu * tracepoint.c (create_tsv_from_upload): Change sprintf to xstrprintf. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e29f5570827..704bbea0774 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2011-12-10 Hui Zhu + + * tracepoint.c (create_tsv_from_upload): Change sprintf to xstrprintf. + 2011-12-09 Andrey Smirnov * breakpoint.c (bp_loc_is_permanent): Rename `brk' to diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c index e00538cc267..fa79d53a4bd 100644 --- a/gdb/tracepoint.c +++ b/gdb/tracepoint.c @@ -3482,31 +3482,39 @@ struct trace_state_variable * create_tsv_from_upload (struct uploaded_tsv *utsv) { const char *namebase; - char buf[20]; + char *buf; int try_num = 0; struct trace_state_variable *tsv; + struct cleanup *old_chain; if (utsv->name) { namebase = utsv->name; - sprintf (buf, "%s", namebase); + buf = xstrprintf ("%s", namebase); } else { namebase = "__tsv"; - sprintf (buf, "%s_%d", namebase, try_num++); + buf = xstrprintf ("%s_%d", namebase, try_num++); } /* Fish for a name that is not in use. */ /* (should check against all internal vars?) */ while (find_trace_state_variable (buf)) - sprintf (buf, "%s_%d", namebase, try_num++); + { + xfree (buf); + buf = xstrprintf ("%s_%d", namebase, try_num++); + } + + old_chain = make_cleanup (xfree, buf); /* We have an available name, create the variable. */ tsv = create_trace_state_variable (buf); tsv->initial_value = utsv->initial_value; tsv->builtin = utsv->builtin; + do_cleanups (old_chain); + return tsv; }