Bug 1382519

Summary: 1.2.11 only -- coverity fixes
Product: Red Hat Enterprise Linux 6 Reporter: Noriko Hosoi <nhosoi>
Component: 389-ds-baseAssignee: Noriko Hosoi <nhosoi>
Status: CLOSED ERRATA QA Contact: Viktor Ashirov <vashirov>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.8CC: nkinder, rmeggins, spichugi
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 389-ds-base-1.2.11.15-84.el6 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-03-21 10:23:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Noriko Hosoi 2016-10-06 21:18:29 UTC
'''Compiler warnings'''
[1]
1. 389-ds-base-1.2.11.15/ldap/servers/plugins/replication/cl5_api.c:0: scope_hint: In function 'trigger_cl_purging_thread'
2. 389-ds-base-1.2.11.15/ldap/servers/plugins/replication/cl5_api.c:3578: warning: dereferencing pointer 'iterator.302' does break strict-aliasing rules
3. 389-ds-base-1.2.11.15/ldap/servers/plugins/replication/cl5_api.c:3578: note: initialized from here
#  3576|   		object_acquire (obj);
#  3577|   		it->file = obj;
#  3578|-> 		*(CL5Iterator**)iterator = it;
#  3579|
[2]
1. 389-ds-base-1.2.11.15/ldap/servers/plugins/pwdstorage/clear_pwd.c:0: scope_hint: In function 'clear_pw_cmp'
2. 389-ds-base-1.2.11.15/ldap/servers/plugins/pwdstorage/clear_pwd.c:58: warning: unused variable 'len'
#    56|   {
#    57|       int result = 0;
#    58|->     int len = 0;
#    59|       int len_user = strlen(userpwd);
#    60|       int len_dbp = strlen(dbpwd);

'''CLANG_WARNING'''
1. 389-ds-base-1.2.11.15/ldap/servers/slapd/ssl.c:1068:14: warning: Value stored to 'NSSVersionMax' during its initialization is never read
#     PRUint16 NSSVersionMax = enabledNSSVersions.max;
#              ^~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~
4. 389-ds-base-1.2.11.15/ldap/servers/slapd/ssl.c:1068:14: note: Value stored to 'NSSVersionMax' during its initialization is never read
#     PRUint16 NSSVersionMax = enabledNSSVersions.max;
#              ^~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~
#  1066|   #if !defined(NSS_TLS10) /* NSS_TLS11 or newer */
#  1067|       PRUint16 NSSVersionMin = SSL_LIBRARY_VERSION_TLS_1_0;
#  1068|->     PRUint16 NSSVersionMax = enabledNSSVersions.max;
#  1069|   #endif
#  1070|  

'''BUild warnings'''
[1]
Type pun (strict-aliasing) warning seen in i686 build log:
   4703  ldap/servers/plugins/replication/cl5_api.c: In function 'trigger_cl_purging_thread':
   4704  ldap/servers/plugins/replication/cl5_api.c:3578: warning: dereferencing pointer 'iterator.325' does break strict-aliasing rules
[2]
Type pun (strict-aliasing) warning seen in x86_64 build log:
   4773  ldap/servers/plugins/replication/cl5_api.c: In function 'trigger_cl_purging_thread':
   4774  ldap/servers/plugins/replication/cl5_api.c:3578: warning: dereferencing pointer 'iterator.302' does break strict-aliasing rules

Comment 2 Noriko Hosoi 2016-10-21 20:03:51 UTC
Compiler warnings
1. warning: dereferencing pointer 'iterator.302' does break strict-aliasing rules
and
Build warnings 1 and 2
are pointing the same issue. That is a bug in gcc-4 on RHEL6.
Reasoning: the same code is found in 389-ds-base.1.3.5 branch but gcc-5 on RHEL7 does not report the warning.

CLANG_WARNING is false positive. NSSVersionMax is read in the same function slapd_ssl_init2, again. The read happens in the next #if !defined(NSS_TLS10) section. Most likely, coverity failed to detect it(?)

Thus, the real issue is just "Compiler warnings 2".

Comment 6 errata-xmlrpc 2017-03-21 10:23:29 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.

https://rhn.redhat.com/errata/RHBA-2017-0667.html