Accepting request 645374 from home:jones_tony:branches:devel:tools
- Handle empty event name gracefully on ppc. New patch: oprofile-handle-empty-event-name-spec-gracefully-for-ppc.patch OBS-URL: https://build.opensuse.org/request/show/645374 OBS-URL: https://build.opensuse.org/package/show/devel:tools/oprofile?expand=0&rev=54
This commit is contained in:
parent
dd4b4bc55c
commit
ca251a287d
@ -0,0 +1,38 @@
|
||||
From: William Cohen <wcohen@redhat.com>
|
||||
Date: Fri Aug 3 10:10:12 2018 -0400
|
||||
Subject: Handle empty event name spec gracefully for PPC
|
||||
Git-commit 457d33de89939ffaa523c2a6377ed7d1506ce255
|
||||
References: none
|
||||
Signed-off-by: Tony Jones <tonyj@suse.de>
|
||||
|
||||
Handle empty event name spec gracefully for PPC
|
||||
|
||||
During testing Michael Petlan found that the giving an empty event
|
||||
name in the event spec to operf on PPC machines would cause operf
|
||||
crash. Running the following following command would demonstrate
|
||||
this problem:
|
||||
|
||||
operf -e : /bin/ls
|
||||
|
||||
The problem was traced to event_name in _handle_powerpc_event_spec
|
||||
function having a length of 0. The strncmp using event_name in
|
||||
_handle_powerpc_event_spec would indicate a match and cause strncpy to
|
||||
be called to copy zero bytes. The zero length strncpy would crash
|
||||
operf. Added a check to make ensure that the string is non-zero
|
||||
length.
|
||||
|
||||
Signed-off-by: William Cohen <wcohen@redhat.com>
|
||||
|
||||
diff --git a/libpe_utils/op_pe_utils.cpp b/libpe_utils/op_pe_utils.cpp
|
||||
index f9638c77..2cae7840 100644
|
||||
--- a/libpe_utils/op_pe_utils.cpp
|
||||
+++ b/libpe_utils/op_pe_utils.cpp
|
||||
@@ -588,7 +588,7 @@ static string _handle_powerpc_event_spec(string event_spec)
|
||||
}
|
||||
if (line[0] == ' ' || line[0] == '\t')
|
||||
continue;
|
||||
- if (!strncmp(line, event_name, evt_name_len)) {
|
||||
+ if (evt_name_len && !strncmp(line, event_name, evt_name_len)) {
|
||||
// Found a potential match. Check if it's a perfect match.
|
||||
string save_event_name = event_name;
|
||||
size_t full_evt_len = index(line, ':') - line;
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 29 21:07:04 UTC 2018 - Tony Jones <tonyj@suse.com>
|
||||
|
||||
- Handle empty event name gracefully on ppc.
|
||||
New patch: oprofile-handle-empty-event-name-spec-gracefully-for-ppc.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 26 15:57:53 UTC 2018 - tonyj@suse.com
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
@ -30,6 +30,7 @@ Source4: jvmpi.h
|
||||
Source5: README-BEFORE-ADDING-PATCHES
|
||||
Patch1: %{name}-no-libjvm-version.patch
|
||||
Patch2: %{name}-pfm-ppc.patch
|
||||
Patch3: %{name}-handle-empty-event-name-spec-gracefully-for-ppc.patch
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: binutils-devel
|
||||
@ -101,6 +102,7 @@ from supported virtual machines.
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
mkdir -p java/include
|
||||
# copy files necessary to build Java agent libraries
|
||||
|
Loading…
Reference in New Issue
Block a user