]> The Tcpdump Group git mirrors - tcpdump/commitdiff
tcpdump.c: Squelch some clang warnings
authorFrancois-Xavier Le Bail <[email protected]>
Sat, 21 Oct 2017 17:10:58 +0000 (19:10 +0200)
committerFrancois-Xavier Le Bail <[email protected]>
Sat, 21 Oct 2017 18:01:02 +0000 (20:01 +0200)
clang version 3.5 gives a warning when ORed values are given as
parameters of a function, like:

./tcpdump.c:661:3: warning: integer constant not in range of
  enumerated type 'capng_type_t' [-Wassign-enum]
                CAPNG_EFFECTIVE | CAPNG_PERMITTED,
                ^

This change uses DIAG_OFF_CLANG and DIAG_ON_CLANG macros to avoid
such warning when compiler is clang.

tcpdump.c

index 59d948f6b2999173e9837d820fdb4cae6f1fb869..ec99ef361595395e00560bf0cc2251506a98c754 100644 (file)
--- a/tcpdump.c
+++ b/tcpdump.c
@@ -716,6 +716,7 @@ droproot(const char *username, const char *chroot_dir)
        }
 #ifdef HAVE_LIBCAP_NG
        /* We don't need CAP_SETUID, CAP_SETGID and CAP_SYS_CHROOT any more. */
+DIAG_OFF_CLANG(assign-enum)
        capng_updatev(
                CAPNG_DROP,
                CAPNG_EFFECTIVE | CAPNG_PERMITTED,
@@ -723,6 +724,7 @@ droproot(const char *username, const char *chroot_dir)
                CAP_SETGID,
                CAP_SYS_CHROOT,
                -1);
+DIAG_ON_CLANG(assign-enum)
        capng_apply(CAPNG_SELECT_BOTH);
 #endif /* HAVE_LIBCAP_NG */
 
@@ -2039,27 +2041,33 @@ main(int argc, char **argv)
                /* Initialize capng */
                capng_clear(CAPNG_SELECT_BOTH);
                if (username) {
+DIAG_OFF_CLANG(assign-enum)
                        capng_updatev(
                                CAPNG_ADD,
                                CAPNG_PERMITTED | CAPNG_EFFECTIVE,
                                CAP_SETUID,
                                CAP_SETGID,
                                -1);
+DIAG_ON_CLANG(assign-enum)
                }
                if (chroot_dir) {
+DIAG_OFF_CLANG(assign-enum)
                        capng_update(
                                CAPNG_ADD,
                                CAPNG_PERMITTED | CAPNG_EFFECTIVE,
                                CAP_SYS_CHROOT
                                );
+DIAG_ON_CLANG(assign-enum)
                }
 
                if (WFileName) {
+DIAG_OFF_CLANG(assign-enum)
                        capng_update(
                                CAPNG_ADD,
                                CAPNG_PERMITTED | CAPNG_EFFECTIVE,
                                CAP_DAC_OVERRIDE
                                );
+DIAG_ON_CLANG(assign-enum)
                }
                capng_apply(CAPNG_SELECT_BOTH);
 #endif /* HAVE_LIBCAP_NG */