Accepting request 645375 from devel:tools
- Handle empty event name gracefully on ppc. New patch: oprofile-handle-empty-event-name-spec-gracefully-for-ppc.patch (forwarded request 645374 from jones_tony) OBS-URL: https://build.opensuse.org/request/show/645375 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/oprofile?expand=0&rev=51
This commit is contained in:
commit
2dfb028d57
@ -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
|
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)
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
# published by the Open Source Initiative.
|
# 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
|
Source5: README-BEFORE-ADDING-PATCHES
|
||||||
Patch1: %{name}-no-libjvm-version.patch
|
Patch1: %{name}-no-libjvm-version.patch
|
||||||
Patch2: %{name}-pfm-ppc.patch
|
Patch2: %{name}-pfm-ppc.patch
|
||||||
|
Patch3: %{name}-handle-empty-event-name-spec-gracefully-for-ppc.patch
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: binutils-devel
|
BuildRequires: binutils-devel
|
||||||
@ -101,6 +102,7 @@ from supported virtual machines.
|
|||||||
%setup -q
|
%setup -q
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
|
||||||
mkdir -p java/include
|
mkdir -p java/include
|
||||||
# copy files necessary to build Java agent libraries
|
# copy files necessary to build Java agent libraries
|
||||||
|
Loading…
Reference in New Issue
Block a user