https://bugs.openldap.org/show_bug.cgi?id=10171

          Issue ID: 10171
           Summary: Incompatible pointer type assignments
           Product: OpenLDAP
           Version: 2.6.6
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Keywords: needs_review
          Severity: normal
          Priority: ---
         Component: build
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

When building with -Werror=incompatible-pointer-types, numerous implicit casts
are made from (void**) types.

For example:

```
make[3]: Entering directory
'/builddir/build/BUILD/openldap-2.6.6/openldap-2.6.6/servers/slapd/back-asyncmeta'
/bin/sh ../../../libtool --tag=disable-static --mode=compile gcc -O2 -flto=auto
-ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall
-Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3
-Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 
-mbranch-protection=standard -fasynchronous-unwind-tables
-fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer 
-Wl,-z,relro -Wl,--as-needed   -Wl,-z,now
-specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors
-specs=/usr/lib/rpm/redhat/redhat-hardened-ld
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1
-specs=/usr/lib/rpm/redhat/redhat-package-notes  -Wl,--as-needed
-DLDAP_CONNECTIONLESS -I../../../include -I../../../include -I.. -I./..   
-DSLAPD_IMPORT -c conn.c
libtool: compile:  gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g
-grecord-gcc-switches -pipe -Wall -Werror=format-security
-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard
-fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer
-mno-omit-leaf-frame-pointer -Wl,-z,relro -Wl,--as-needed -Wl,-z,now
-specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors
-specs=/usr/lib/rpm/redhat/redhat-hardened-ld
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1
-specs=/usr/lib/rpm/redhat/redhat-package-notes -Wl,--as-needed
-DLDAP_CONNECTIONLESS -I../../../include -I../../../include -I.. -I./..
-DSLAPD_IMPORT -c conn.c  -fPIC -DPIC -o .libs/conn.o
make[3]: Leaving directory
'/builddir/build/BUILD/openldap-2.6.6/openldap-2.6.6/servers/slapd/back-asyncmeta'
make[3]: Entering directory
'/builddir/build/BUILD/openldap-2.6.6/openldap-2.6.6/servers/slapd/overlays'
/bin/sh ../../../libtool --tag=disable-static --mode=compile gcc -O2 -flto=auto
-ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall
-Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3
-Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 
-mbranch-protection=standard -fasynchronous-unwind-tables
-fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer 
-Wl,-z,relro -Wl,--as-needed   -Wl,-z,now
-specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors
-specs=/usr/lib/rpm/redhat/redhat-hardened-ld
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1
-specs=/usr/lib/rpm/redhat/redhat-package-notes  -Wl,--as-needed
-DLDAP_CONNECTIONLESS -I../../../include        -I../../../include -I.. -I./.. 
  -DSLAPD_IMPORT -c constraint.c
libtool: compile:  gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g
-grecord-gcc-switches -pipe -Wall -Werror=format-security
-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard
-fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer
-mno-omit-leaf-frame-pointer -Wl,-z,relro -Wl,--as-needed -Wl,-z,now
-specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors
-specs=/usr/lib/rpm/redhat/redhat-hardened-ld
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1
-specs=/usr/lib/rpm/redhat/redhat-package-notes -Wl,--as-needed
-DLDAP_CONNECTIONLESS -I../../../include -I../../../include -I.. -I./..
-DSLAPD_IMPORT -c constraint.c  -fPIC -DPIC -o .libs/constraint.o
make[3]: Leaving directory
'/builddir/build/BUILD/openldap-2.6.6/openldap-2.6.6/servers/slapd/overlays'
constraint.c:90:38: warning: missing braces around initializer
[-Wmissing-braces]
   90 | static ConfigTable constraintcfg[] = {
      |                                      ^
constraint.c:90:38: warning: missing braces around initializer
[-Wmissing-braces]
constraint.c:90:38: warning: missing braces around initializer
[-Wmissing-braces]
constraint.c: In function ‘constraint_cf_gen’:
constraint.c:327:40: warning: unused variable ‘size’ [-Wunused-variable]
  327 |                                 size_t size;
      |                                        ^~~~
constraint.c:335:40: warning: unused variable ‘count’ [-Wunused-variable]
  335 |                                 size_t count;
      |                                        ^~~~~
constraint.c:560:43: error: assignment to ‘constraint **’ from incompatible
pointer type ‘void **’ [-Wincompatible-pointer-types]
  560 |                                 for ( app = &on->on_bi.bi_private;
*app; app = &(*app)->ap_next )
      |                                           ^
constraint.c: In function ‘constraint_check_count_violation’:
constraint.c:891:19: warning: unused variable ‘b’ [-Wunused-variable]
  891 |         BerVarray b = NULL;
      |                   ^
constraint.c: In function ‘constraint_update’:
constraint.c:1016:26: warning: unused variable ‘ce’ [-Wunused-variable]
 1016 |                 unsigned ce = 0;
      |                          ^~
```

Most of these can be resolved with a simple explicit cast. I have submitted a
patch to do so at
https://git.openldap.org/openldap/openldap/-/merge_requests/683

-- 
You are receiving this mail because:
You are on the CC list for the issue.

Reply via email to