Bug 1505856 - Potential use of NULL `this` variable before it gets initialized
Summary: Potential use of NULL `this` variable before it gets initialized
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: changelog
Version: 3.12
Hardware: All
OS: All
unspecified
low
Target Milestone: ---
Assignee: Kotresh HR
QA Contact:
URL:
Whiteboard:
Depends On: 1503405 1505325
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-10-24 12:03 UTC by Kotresh HR
Modified: 2017-11-29 05:53 UTC (History)
3 users (show)

Fixed In Version: glusterfs-glusterfs-3.12.3
Clone Of: 1505325
Environment:
Last Closed: 2017-11-29 05:53:24 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Kotresh HR 2017-10-24 12:03:06 UTC
+++ This bug was initially created as a clone of Bug #1505325 +++

+++ This bug was initially created as a clone of Bug #1503405 +++

Description of problem:

Our code scanner has reported a potential null pointer dereference at xlators/features/changelog/lib/src/gf-history-changelog.c

        xlator_t                       *this                    = NULL;
    ........

        pthread_attr_t attr;

        ret = pthread_attr_init (&attr);
        if (ret != 0) {
                gf_msg (this->name, GF_LOG_ERROR, errno,    // <== `this` variable is still NULL at this time. 
                        CHANGELOG_LIB_MSG_PTHREAD_ERROR,
                        "Pthread init failed");
                return -1;
        }

        this = THIS;  // `this` variable gets assignment here, it was NULL before that
        if (!this) {
                ret = -1;
                goto out;
        }

according to the documentation of pthread_attr_init, the chance of its invocation failure is low, but once happened, the process will crash (the GEO replication syncdaemon seems using this function).

Regards,
Alex, SourceBrella Inc.

--- Additional comment from Worker Ant on 2017-10-23 06:52:33 EDT ---

REVIEW: https://review.gluster.org/18553 (libgfchangelog: Fix possible null pointer dereference) posted (#1) for review on master by Kotresh HR (khiremat)

--- Additional comment from Worker Ant on 2017-10-24 01:25:01 EDT ---

COMMIT: https://review.gluster.org/18553 committed in master by Aravinda VK (avishwan) 
------
commit 738c38f0efa7b4d4dab0cf23d00589d68e4eb88d
Author: Kotresh HR <khiremat>
Date:   Mon Oct 23 06:46:49 2017 -0400

    libgfchangelog: Fix possible null pointer dereference
    
    If pthread_attr_init fails, gf_msg uses this->name
    where 'this' is not initialized yet. This patch fixes
    the same.
    
    Change-Id: Ie004cbe1015a0d62fc3b5512e8954c5606eeeb5f
    Signed-off-by: Kotresh HR <khiremat>
    BUG: 1505325

Comment 1 Worker Ant 2017-10-24 12:04:11 UTC
REVIEW: https://review.gluster.org/18564 (libgfchangelog: Fix possible null pointer dereference) posted (#1) for review on release-3.12 by Kotresh HR (khiremat)

Comment 2 Worker Ant 2017-10-25 11:38:16 UTC
COMMIT: https://review.gluster.org/18564 committed in release-3.12 by jiffin tony Thottan (jthottan) 
------
commit 5632750c91f349bb10a0a6e5cded02f5efc5b828
Author: Kotresh HR <khiremat>
Date:   Mon Oct 23 06:46:49 2017 -0400

    libgfchangelog: Fix possible null pointer dereference
    
    If pthread_attr_init fails, gf_msg uses this->name
    where 'this' is not initialized yet. This patch fixes
    the same.
    
    > Change-Id: Ie004cbe1015a0d62fc3b5512e8954c5606eeeb5f
    > Signed-off-by: Kotresh HR <khiremat>
    > BUG: 1505325
    (cherry picked from commit 738c38f0efa7b4d4dab0cf23d00589d68e4eb88d)
    
    
    Change-Id: Ie004cbe1015a0d62fc3b5512e8954c5606eeeb5f
    Signed-off-by: Kotresh HR <khiremat>
    BUG: 1505856

Comment 3 Jiffin 2017-11-29 05:53:24 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-glusterfs-3.12.3, please open a new bug report.

glusterfs-glusterfs-3.12.3 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://lists.gluster.org/pipermail/gluster-devel/2017-November/053983.html
[2] https://www.gluster.org/pipermail/gluster-users/


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