Hello community, here is the log from the commit of package systemtap checked in at Fri Nov 21 15:53:21 CET 2008. -------- --- systemtap/systemtap.changes 2008-11-04 13:57:58.000000000 +0100 +++ /mounts/work_src_done/STABLE/systemtap/systemtap.changes 2008-11-21 14:09:41.000000000 +0100 @@ -1,0 +2,5 @@ +Fri Nov 21 14:09:21 CET 2008 - tiwai@suse.de + +- Add the bound check of parameters to fix segfault (bnc#447551) + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- systemtap-parameter-bound-check.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ systemtap.spec ++++++ --- /var/tmp/diff_new_pack.b29904/_old 2008-11-21 15:53:06.000000000 +0100 +++ /var/tmp/diff_new_pack.b29904/_new 2008-11-21 15:53:06.000000000 +0100 @@ -25,7 +25,7 @@ %define package_version 20080906 License: GPL v2 or later Version: 0.7.1 -Release: 24 +Release: 25 Summary: Instrumentation System Group: Development/Tools/Debuggers Url: http://sourceware.org/systemtap/ @@ -35,6 +35,7 @@ Patch: systemtap-docdir-fix.diff Patch1: systemtap-old-autoconf-fix.diff Patch2: stap-fix-dump_unwindsyms.patch +Patch3: systemtap-parameter-bound-check.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -59,6 +60,7 @@ %patch1 %endif %patch2 -p1 +%patch3 %build autoreconf -fi @@ -83,6 +85,8 @@ %dir %attr(0755,root,root) /var/cache/systemtap %changelog +* Fri Nov 21 2008 tiwai@suse.de +- Add the bound check of parameters to fix segfault (bnc#447551) * Tue Nov 04 2008 tiwai@suse.de - Fix systemtap assertion with CONFIG_RELOCATABLE (bnc#440351) * Thu Sep 11 2008 tiwai@suse.de ++++++ systemtap-parameter-bound-check.diff ++++++ --- translate.cxx-dist 2008-09-06 16:27:03.000000000 +0200 +++ translate.cxx 2008-11-21 14:19:52.000000000 +0100 @@ -4193,7 +4193,7 @@ c_unparser::visit_print_format (print_fo /* The type of the %m argument is 'char*'. */ if (components[i].type == print_format::conv_memory) o->line() << ", (char*)(uintptr_t)" << tmp[arg_ix++].value(); - else + else if (arg_ix < (int) tmp.size()) o->line() << ", " << tmp[arg_ix++].value(); } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org