diff options
Diffstat (limited to 'meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0005-EAP-pwd-peer-Fix-asymmetric-fragmentation-behavior.patch')
-rw-r--r-- | meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0005-EAP-pwd-peer-Fix-asymmetric-fragmentation-behavior.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0005-EAP-pwd-peer-Fix-asymmetric-fragmentation-behavior.patch b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0005-EAP-pwd-peer-Fix-asymmetric-fragmentation-behavior.patch new file mode 100644 index 0000000000..4073600732 --- /dev/null +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/0005-EAP-pwd-peer-Fix-asymmetric-fragmentation-behavior.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com> | ||
4 | |||
5 | From 28a069a545b06b99eb55ad53f63f2c99e65a98f6 Mon Sep 17 00:00:00 2001 | ||
6 | From: Jouni Malinen <j@w1.fi> | ||
7 | Date: Sat, 2 May 2015 19:26:28 +0300 | ||
8 | Subject: [PATCH 5/5] EAP-pwd peer: Fix asymmetric fragmentation behavior | ||
9 | |||
10 | The L (Length) and M (More) flags needs to be cleared before deciding | ||
11 | whether the locally generated response requires fragmentation. This | ||
12 | fixes an issue where these flags from the server could have been invalid | ||
13 | for the following message. In some cases, this could have resulted in | ||
14 | triggering the wpabuf security check that would terminate the process | ||
15 | due to invalid buffer allocation. | ||
16 | |||
17 | Signed-off-by: Jouni Malinen <j@w1.fi> | ||
18 | --- | ||
19 | src/eap_peer/eap_pwd.c | 1 + | ||
20 | 1 file changed, 1 insertion(+) | ||
21 | |||
22 | diff --git a/src/eap_peer/eap_pwd.c b/src/eap_peer/eap_pwd.c | ||
23 | index 1d2079b..e58b13a 100644 | ||
24 | --- a/src/eap_peer/eap_pwd.c | ||
25 | +++ b/src/eap_peer/eap_pwd.c | ||
26 | @@ -968,6 +968,7 @@ eap_pwd_process(struct eap_sm *sm, void *priv, struct eap_method_ret *ret, | ||
27 | /* | ||
28 | * we have output! Do we need to fragment it? | ||
29 | */ | ||
30 | + lm_exch = EAP_PWD_GET_EXCHANGE(lm_exch); | ||
31 | len = wpabuf_len(data->outbuf); | ||
32 | if ((len + EAP_PWD_HDR_SIZE) > data->mtu) { | ||
33 | resp = eap_msg_alloc(EAP_VENDOR_IETF, EAP_TYPE_PWD, data->mtu, | ||
34 | -- | ||
35 | 1.9.1 | ||
36 | |||