+* [Bug 1119] [CID 52] Avoid a possible null-dereference in ntp_crypto.c.
* [Bug 1120] [CID 51] INSIST that peer is non-null before we dereference it.
* [Bug 1121] [CID 47] double fclose() in ntp-keygen.c.
(4.2.5p155) 2009/01/18 Released by Harlan Stenn <stenn@ntp.org>
* synchronized, light the error bit and go home.
*/
pkt = (u_int32 *)xpkt + *start / 4;
- if (peer != NULL)
+ if (peer != NULL) {
srcadr_sin = &peer->srcadr;
- else
+ if (!(opcode & CRYPTO_RESP))
+ peer->opcode = ep->opcode;
+ } else {
srcadr_sin = &rbufp->recv_srcadr;
+ }
fp = (struct exten *)pkt;
opcode = ntohl(ep->opcode);
- if (!(opcode & CRYPTO_RESP))
- peer->opcode = ep->opcode;
associd = (associd_t) ntohl(ep->associd);
fp->associd = ep->associd;
len = 8;
rval = XEVNT_LEN;
break;
}
- if (PKT_MODE(xpkt->li_vn_mode) == MODE_SERVER) {
+ if (peer == NULL)
tcookie = cookie;
- } else {
+ else
tcookie = peer->hcookie;
- }
if ((rval = crypto_encrypt(ep, &vtemp, &tcookie)) ==
XEVNT_OK) {
rval = crypto_send(fp, &vtemp, &len);