Package: dhcp3
Version: 3.0.4-8
Severity: normal

Hello,

recently I discovered the following bit of code in the source file
dhcp3-3.0.4/common/discover.c (around line 941):

    isc_result_t dhcp_interface_stuff_values (omapi_object_t *c,
                                              omapi_object_t *id,
                                              omapi_object_t *h)
    {
            struct interface_info *interface;
            ...
            if (interface -> flags && INTERFACE_REQUESTED)
                status = omapi_connection_put_string (c, "up");
            ...
    }

Looking at include/dhcpd.h it is clear that flags is meant to be a bit
field:

    struct interface_info {
            ...
            u_int32_t flags;                /* Control flags... */
    #define INTERFACE_REQUESTED 1
    #define INTERFACE_AUTOMATIC 2
    #define INTERFACE_RUNNING 4

            ...
    }

Thus it seems that the intended test was the bit test

            if (interface -> flags & INTERFACE_REQUESTED)
                status = omapi_connection_put_string (c, "up");

I do not know what the implications of this bug are, but I guess it
should be fixed anyway.

I hope this helps,
Jochen

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17.13
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to