[ovs-dev] [PATCH] Fix build when HAVE_LIBCAPNG is not defined.

Russell Bryant rbryant at redhat.com
Thu Oct 1 15:29:16 UTC 2015


The function daemon_become_new_user_linux was conditionally defined but
then used in code unconditionally.  If HAVE_LIBCAPNG is not defined, the
function would never be called, but it still must exist.

Adjust the #if guard around the function to be around the body of the
function instead of outside of its definition to ensure the function is
always defined, even if empty.

This issue was introduced in e91b927d8966bfcb9768225392324dde4fd7d7f6.

Signed-off-by: Russell Bryant <rbryant at redhat.com>
---
 lib/daemon-unix.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/daemon-unix.c b/lib/daemon-unix.c
index 6438061..868e2c9 100644
--- a/lib/daemon-unix.c
+++ b/lib/daemon-unix.c
@@ -804,10 +804,10 @@ daemon_become_new_user_unix(void)
 
 /* Linux specific implementation of daemon_become_new_user()
  * using libcap-ng.   */
-#if defined __linux__ &&  HAVE_LIBCAPNG
 static void
-daemon_become_new_user_linux(bool access_datapath)
+daemon_become_new_user_linux(bool access_datapath OVS_UNUSED)
 {
+#if defined __linux__ &&  HAVE_LIBCAPNG
     int ret;
 
     ret = capng_get_caps_process();
@@ -847,8 +847,8 @@ daemon_become_new_user_linux(bool access_datapath)
         VLOG_FATAL("%s: libcap-ng fail to switch to user and group "
                    "%d:%d, aborting", pidfile, uid, gid);
     }
-}
 #endif
+}
 
 static void
 daemon_become_new_user__(bool access_datapath)
-- 
2.4.3




More information about the dev mailing list