diff options
-rwxr-xr-x | gdhcp/client.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gdhcp/client.c b/gdhcp/client.c index b4b3e7ee..81896136 100755 --- a/gdhcp/client.c +++ b/gdhcp/client.c @@ -2770,7 +2770,8 @@ int g_dhcp_client_start(GDHCPClient *dhcp_client, const char *last_address) addr = 0; } else { addr = ntohl(inet_addr(last_address)); - if (addr == 0xFFFFFFFF) { + if (addr == 0xFFFFFFFF || ((addr & LINKLOCAL_ADDR) == + LINKLOCAL_ADDR)) { addr = 0; } else { g_free(dhcp_client->last_address); |