Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:dirkmueller:acdc:as_python3_module
oprofile
oprofile-handle-empty-event-name-spec-gracefull...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File oprofile-handle-empty-event-name-spec-gracefully-for-ppc.patch of Package oprofile
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;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor