key.c (a4ed727666b8a83c4f019b03bd4e9ac547c2b866) key.c (2a8c860fe3f3bcfc6ba9206f34d067d998d89c7e)
1/* $FreeBSD$ */
2/* $KAME: key.c,v 1.191 2001/06/27 10:46:49 sakane Exp $ */
3
4/*-
5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 2139 unchanged lines hidden (view full) ---

2148 struct sadb_msg *newmsg;
2149 int off, len;
2150
2151 /* create new sadb_msg to reply. */
2152 len = PFKEY_ALIGN8(sizeof(struct sadb_msg));
2153
2154 MGETHDR(n, M_NOWAIT, MT_DATA);
2155 if (n && len > MHLEN) {
1/* $FreeBSD$ */
2/* $KAME: key.c,v 1.191 2001/06/27 10:46:49 sakane Exp $ */
3
4/*-
5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 2139 unchanged lines hidden (view full) ---

2148 struct sadb_msg *newmsg;
2149 int off, len;
2150
2151 /* create new sadb_msg to reply. */
2152 len = PFKEY_ALIGN8(sizeof(struct sadb_msg));
2153
2154 MGETHDR(n, M_NOWAIT, MT_DATA);
2155 if (n && len > MHLEN) {
2156 MCLGET(n, M_NOWAIT);
2157 if ((n->m_flags & M_EXT) == 0) {
2156 if (!(MCLGET(n, M_NOWAIT))) {
2158 m_freem(n);
2159 n = NULL;
2160 }
2161 }
2162 if (!n)
2163 return key_senderror(so, m, ENOBUFS);
2164
2165 n->m_len = len;

--- 1325 unchanged lines hidden (view full) ---

3491 struct sadb_msg *p;
3492 int len;
3493
3494 len = PFKEY_ALIGN8(sizeof(struct sadb_msg));
3495 if (len > MCLBYTES)
3496 return NULL;
3497 MGETHDR(m, M_NOWAIT, MT_DATA);
3498 if (m && len > MHLEN) {
2157 m_freem(n);
2158 n = NULL;
2159 }
2160 }
2161 if (!n)
2162 return key_senderror(so, m, ENOBUFS);
2163
2164 n->m_len = len;

--- 1325 unchanged lines hidden (view full) ---

3490 struct sadb_msg *p;
3491 int len;
3492
3493 len = PFKEY_ALIGN8(sizeof(struct sadb_msg));
3494 if (len > MCLBYTES)
3495 return NULL;
3496 MGETHDR(m, M_NOWAIT, MT_DATA);
3497 if (m && len > MHLEN) {
3499 MCLGET(m, M_NOWAIT);
3500 if ((m->m_flags & M_EXT) == 0) {
3498 if (!(MCLGET(m, M_NOWAIT))) {
3501 m_freem(m);
3502 m = NULL;
3503 }
3504 }
3505 if (!m)
3506 return NULL;
3507 m->m_pkthdr.len = m->m_len = len;
3508 m->m_next = NULL;

--- 1180 unchanged lines hidden (view full) ---

4689 int off, len;
4690
4691 /* create new sadb_msg to reply. */
4692 len = PFKEY_ALIGN8(sizeof(struct sadb_msg)) +
4693 PFKEY_ALIGN8(sizeof(struct sadb_sa));
4694
4695 MGETHDR(n, M_NOWAIT, MT_DATA);
4696 if (len > MHLEN) {
3499 m_freem(m);
3500 m = NULL;
3501 }
3502 }
3503 if (!m)
3504 return NULL;
3505 m->m_pkthdr.len = m->m_len = len;
3506 m->m_next = NULL;

--- 1180 unchanged lines hidden (view full) ---

4687 int off, len;
4688
4689 /* create new sadb_msg to reply. */
4690 len = PFKEY_ALIGN8(sizeof(struct sadb_msg)) +
4691 PFKEY_ALIGN8(sizeof(struct sadb_sa));
4692
4693 MGETHDR(n, M_NOWAIT, MT_DATA);
4694 if (len > MHLEN) {
4697 MCLGET(n, M_NOWAIT);
4698 if ((n->m_flags & M_EXT) == 0) {
4695 if (!(MCLGET(n, M_NOWAIT))) {
4699 m_freem(n);
4700 n = NULL;
4701 }
4702 }
4703 if (!n)
4704 return key_senderror(so, m, ENOBUFS);
4705
4706 n->m_len = len;

--- 1916 unchanged lines hidden (view full) ---

6623
6624 len = sizeof(struct sadb_msg) + alen + elen;
6625
6626 if (len > MCLBYTES)
6627 return key_senderror(so, m, ENOBUFS);
6628
6629 MGETHDR(n, M_NOWAIT, MT_DATA);
6630 if (len > MHLEN) {
4696 m_freem(n);
4697 n = NULL;
4698 }
4699 }
4700 if (!n)
4701 return key_senderror(so, m, ENOBUFS);
4702
4703 n->m_len = len;

--- 1916 unchanged lines hidden (view full) ---

6620
6621 len = sizeof(struct sadb_msg) + alen + elen;
6622
6623 if (len > MCLBYTES)
6624 return key_senderror(so, m, ENOBUFS);
6625
6626 MGETHDR(n, M_NOWAIT, MT_DATA);
6627 if (len > MHLEN) {
6631 MCLGET(n, M_NOWAIT);
6632 if ((n->m_flags & M_EXT) == 0) {
6628 if (!(MCLGET(n, M_NOWAIT))) {
6633 m_freem(n);
6634 n = NULL;
6635 }
6636 }
6637 if (!n)
6638 return key_senderror(so, m, ENOBUFS);
6639
6640 n->m_pkthdr.len = n->m_len = len;

--- 541 unchanged lines hidden (view full) ---

7182 m_freem(m);
7183 return ENOBUFS;
7184 }
7185 if (m->m_next) {
7186 struct mbuf *n;
7187
7188 MGETHDR(n, M_NOWAIT, MT_DATA);
7189 if (n && m->m_pkthdr.len > MHLEN) {
6629 m_freem(n);
6630 n = NULL;
6631 }
6632 }
6633 if (!n)
6634 return key_senderror(so, m, ENOBUFS);
6635
6636 n->m_pkthdr.len = n->m_len = len;

--- 541 unchanged lines hidden (view full) ---

7178 m_freem(m);
7179 return ENOBUFS;
7180 }
7181 if (m->m_next) {
7182 struct mbuf *n;
7183
7184 MGETHDR(n, M_NOWAIT, MT_DATA);
7185 if (n && m->m_pkthdr.len > MHLEN) {
7190 MCLGET(n, M_NOWAIT);
7191 if ((n->m_flags & M_EXT) == 0) {
7186 if (!(MCLGET(n, M_NOWAIT))) {
7192 m_free(n);
7193 n = NULL;
7194 }
7195 }
7196 if (!n) {
7197 m_freem(m);
7198 return ENOBUFS;
7199 }

--- 629 unchanged lines hidden ---
7187 m_free(n);
7188 n = NULL;
7189 }
7190 }
7191 if (!n) {
7192 m_freem(m);
7193 return ENOBUFS;
7194 }

--- 629 unchanged lines hidden ---