Bug 915769 - coroparse: Read unitialized memory if config file contains service without name
Summary: coroparse: Read unitialized memory if config file contains service without name
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: corosync
Version: 6.4
Hardware: All
OS: All
Target Milestone: rc
: ---
Assignee: Jan Friesse
QA Contact: Cluster QE
Depends On:
TreeView+ depends on / blocked
Reported: 2013-02-26 13:30 UTC by Jan Friesse
Modified: 2013-11-21 04:32 UTC (History)
4 users (show)

Start corosync with config file where service subsection doesn't contain name key.

Segfault or refuse to load service with "random garbage" name (access to unitialized memory)

Properly check if name key exists.

Corosync will display error and exits properly.
Clone Of:
Last Closed: 2013-11-21 04:32:55 UTC

Attachments (Terms of Use)
Proposed patch (3.46 KB, patch)
2013-02-26 13:30 UTC, Jan Friesse
no flags Details | Diff

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:1531 normal SHIPPED_LIVE corosync bug fix and enhancement update 2013-11-21 00:40:57 UTC

Description Jan Friesse 2013-02-26 13:30:44 UTC
Created attachment 702869 [details]
Proposed patch

Description of problem:

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Add following to config file:

service {
    ver: 1

2. Start corosync
Actual results:
Corosync will ether receive segfault or displays something like "Loading service GARBAGE" where GARBAGE is result of unitialized memory (so random value)

Expected results:
Corosync will properly check given condition and displays error.

Additional info:

"Unit" test:


Before patch result:
$? != 0

After patch result:
$? == 0

Comment 8 Jaroslav Kortus 2013-09-11 16:06:47 UTC
Verified with config-service-without-name.sh:

FAIL on corosync-1.4.1-15.el6.x86_64 (RHEL6.4) (coredump)
PASS on corosync-1.4.1-17.el6.x86_64 (RHEL6.5)
Sep 11 18:05:22 virt-014 corosync[4070]:   [SERV  ] Service section defined in config file without name key
Sep 11 18:05:22 virt-014 corosync[4070]:   [MAIN  ] Corosync Cluster Engine exiting with status 13 at main.c:1501.

Comment 10 errata-xmlrpc 2013-11-21 04:32:55 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.