From 316ac9052cb44a69729357f74a331b66f15d12f0 Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Tue, 20 Jan 2009 13:35:36 -0500 Subject: fix segv on peculiar dwfl errors (probe process("/lib64").FOO {}) Reported-By: Daniel Tralamazza --- ChangeLog | 5 +++++ dwarf_wrappers.cxx | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index c94d51f0..09d231ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-01-20 Frank Ch. Eigler + + * dwarf_wrappers.cxx (dwfl_assert): Tolerate rc==-1, for which + dwfl_errmsg(-1)=>NULL. + 2009-01-19 Dave Brolley * stap-serverd (initialization): Call stap-add-server-cert only if diff --git a/dwarf_wrappers.cxx b/dwarf_wrappers.cxx index 4fd074ed..f83c4665 100644 --- a/dwarf_wrappers.cxx +++ b/dwarf_wrappers.cxx @@ -1,5 +1,5 @@ // -*- C++ -*- -// Copyright (C) 2008 Red Hat Inc. +// Copyright (C) 2008-2009 Red Hat Inc. // // This file is part of systemtap, and is free software. You can // redistribute it and/or modify it under the terms of the GNU General @@ -21,7 +21,7 @@ void dwfl_assert(const string& desc, int rc) return; string msg = "libdwfl failure (" + desc + "): "; if (rc < 0) - msg += dwfl_errmsg (rc); + msg += (dwfl_errmsg (rc) ?: "?"); else msg += std::strerror (rc); throw semantic_error (msg); -- cgit