default). You must compile with one or the other but not both.
[ISC-Bugs #42446]
+- Corrected some minor coverity issues: CID 1426059, 1426058, and 1426057.
+ [ISC-Bugs #46836]
+
Changes since 4.3.6 (Bugs):
- Corrected an issue where the server would return a client's previously
decline_done:
/* We here because we've exhausted our retry limits or
* something else has gone wrong with the decline process.
- * So let's just toss the existing lease and start over.
- */
- if (client->active_lease != NULL) {
- dhc6_lease_destroy(&client->active_lease, MDL);
- client->active_lease = NULL;
- }
+ * So let's just toss the existing lease and start over. */
+ dhc6_lease_destroy(&client->active_lease, MDL);
+ client->active_lease = NULL;
start_init6(client);
return;
{
isc_result_t result;
const char *logstr = NULL;
- char ddns_address[MAX_ADDRESS_STRING_LEN];
+ char ddns_address[MAX_ADDRESS_STRING_LEN+1];
#if defined (DEBUG_DNS_UPDATES)
log_info ("DDNS: ddns_fwd_srv_add3: %s eresult: %d",
#endif
/* Construct a printable form of the address for logging */
- strcpy(ddns_address, piaddr(ddns_cb->address));
+ memset(ddns_address, 0x0, sizeof(ddns_address));
+ strncpy(ddns_address, piaddr(ddns_cb->address),
+ sizeof(ddns_address) - 1);
switch(eresult) {
case ISC_R_SUCCESS:
/* If address matches (and for PDs the prefix len matches)
* we assume this is our subopt, so update the lifetimes */
if (!memcmp(oc->data.data + addr_offset, &lease->addr, 16) &&
- (subopt_type != D6O_IA_PD ||
+ (subopt_type != D6O_IAPREFIX ||
(oc->data.data[IASUBOPT_PD_PREFLEN_OFFSET] ==
lease->plen))) {
u_int32_t pref_life = getULong(oc->data.data +