---
* [TALOS-CAN-0052] crash by loop counter underrun. perlinger@ntp.org
+* [TALOS-CAN-0054] memory corruption in password store. perlinger@ntp.org
* [Bug 2595] ntpdate man page quirks. Hal Murray, Harlan Stenn.
* [Bug 2625] Deprecate flag1 in local refclock. Hal Murray, Harlan Stenn.
* [Bug 2817] Stop locking ntpd into memory by default under Linux. H.Stenn.
bucket = &key_hash[KEYHASH(keyno)];
for (sk = *bucket; sk != NULL; sk = sk->hlink) {
if (keyno == sk->keyid) {
+ /* TALOS-CAN-0054: make sure we have a buffer! */
+ if (NULL == sk->secret)
+ sk->secret = emalloc(len);
sk->type = (u_short)keytype;
secretsize = len;
sk->secretsize = (u_short)secretsize;
if (sk->secret != NULL) {
memset(sk->secret, '\0', sk->secretsize);
free(sk->secret);
+ sk->secret = NULL; /* TALOS-CAN-0054 */
}
sk->secretsize = 0;
sk->lifetime = 0;