Red Hat Bugzilla – Bug 880598
objdb: Don't read uninitialized memory in inc/dec
Last modified: 2013-11-20 23:31:58 EST
Created attachment 652644 [details] Proposed patch Description of problem: When object_key_increment or _decrement is called on [u]int16 value, uninitialized value is read as result value. Version-Release number of selected component (if applicable): All How reproducible: 100% Steps to Reproduce: 1. Store [u]int16 value in confdb 2. Call object_key_increment on this key 3. valgrind will tell about access to uninitialized memory. From time to time, returned value (last parameter of object_key_increment) can be unexpected value. Actual results: Read of uninitialized value Expected results: No read of uninitialized value Additional info: "Unit test": https://github.com/jfriesse/csts/blob/master/tests/confdb-incdec.sh
Verified using confdb-incdec.sh: FAIL on corosync-1.4.1-15.el6.x86_64 (RHEL6.4) (/root/csts-apps/confdb-incdec.c:68: incdec: Assertion `res == i16inc' failed) PASS on corosync-1.4.1-17.el6.x86_64 (RHEL6.5)
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. http://rhn.redhat.com/errata/RHBA-2013-1531.html