--- embedaddon/dnsmasq/src/lease.c 2021/03/17 00:56:46 1.1.1.4 +++ embedaddon/dnsmasq/src/lease.c 2023/09/27 11:02:07 1.1.1.5 @@ -1,4 +1,4 @@ -/* dnsmasq is Copyright (c) 2000-2021 Simon Kelley +/* dnsmasq is Copyright (c) 2000-2022 Simon Kelley This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -378,7 +378,7 @@ void lease_update_file(time_t now) if (next_event == 0 || difftime(next_event, LEASE_RETRY + now) > 0.0) next_event = LEASE_RETRY + now; - my_syslog(MS_DHCP | LOG_ERR, _("failed to write %s: %s (retry in %us)"), + my_syslog(MS_DHCP | LOG_ERR, _("failed to write %s: %s (retry in %u s)"), daemon->lease_file, strerror(err), (unsigned int)difftime(next_event, now)); } @@ -1021,6 +1021,7 @@ void lease_set_hostname(struct dhcp_lease *lease, cons } kill_name(lease_tmp); + lease_tmp->flags |= LEASE_CHANGED; /* run script on change */ break; } } @@ -1179,17 +1180,11 @@ void lease_add_extradata(struct dhcp_lease *lease, uns if ((lease->extradata_size - lease->extradata_len) < (len + 1)) { size_t newsz = lease->extradata_len + len + 100; - unsigned char *new = whine_malloc(newsz); + unsigned char *new = whine_realloc(lease->extradata, newsz); if (!new) return; - if (lease->extradata) - { - memcpy(new, lease->extradata, lease->extradata_len); - free(lease->extradata); - } - lease->extradata = new; lease->extradata_size = newsz; } @@ -1201,8 +1196,4 @@ void lease_add_extradata(struct dhcp_lease *lease, uns } #endif -#endif - - - - +#endif /* HAVE_DHCP */