X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fodhcpd.git;a=blobdiff_plain;f=src%2Fdhcpv4.c;h=fdf5f685189346fa99b703f7336a642a6fa29744;hp=89750b23cbc3f73d77deed1b2ec35a2c5994beb8;hb=cf90f5ab2d5b4b6cece7d0096df12eb29e7d1568;hpb=710744ecea73b6a3cf560776e298741b04fb727a diff --git a/src/dhcpv4.c b/src/dhcpv4.c index 89750b2..fdf5f68 100644 --- a/src/dhcpv4.c +++ b/src/dhcpv4.c @@ -611,10 +611,9 @@ static struct dhcpv4_assignment* dhcpv4_lease(struct interface *iface, if (assigned && a) lease = a; } else if (msg == DHCPV4_MSG_RELEASE) { - if (a) { + if (a && a->valid_until != LONG_MAX) a->valid_until = 0; - } - } else if (msg == DHCPV4_MSG_DECLINE) { + } else if (msg == DHCPV4_MSG_DECLINE && a->valid_until != LONG_MAX) { memset(a->hwaddr, 0, sizeof(a->hwaddr)); a->valid_until = now + 3600; // Block address for 1h }