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 --- |