]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/net/wireless/marvell/mwifiex/wmm.c
mwifiex: Fix possible buffer overflows in mwifiex_ret_wmm_get_status()
[mirror_ubuntu-bionic-kernel.git] / drivers / net / wireless / marvell / mwifiex / wmm.c
index a99a1b2d85f34bf404e5061022fae9e8e8e2d2ab..6752f65dfc4d52cac1f4478fc48285039b032162 100644 (file)
@@ -977,6 +977,10 @@ int mwifiex_ret_wmm_get_status(struct mwifiex_private *priv,
                                    "WMM Parameter Set Count: %d\n",
                                    wmm_param_ie->qos_info_bitmap & mask);
 
+                       if (wmm_param_ie->vend_hdr.len + 2 >
+                               sizeof(struct ieee_types_wmm_parameter))
+                               break;
+
                        memcpy((u8 *) &priv->curr_bss_params.bss_descriptor.
                               wmm_ie, wmm_param_ie,
                               wmm_param_ie->vend_hdr.len + 2);