]> git.ipfire.org Git - thirdparty/iw.git/commitdiff
iw: scan: fix buffer over-read in print_wifi_wps
authorMarkus Theil <markus.theil@tu-ilmenau.de>
Sun, 9 Feb 2020 16:58:59 +0000 (17:58 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 13 Feb 2020 18:18:24 +0000 (19:18 +0100)
Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200209165902.44110-6-markus.theil@tu-ilmenau.de
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
scan.c

diff --git a/scan.c b/scan.c
index e8a7afdfb00d46843ef44dd23f4d96340477e2ff..2114cfe72a266583e5d5058e8337a5a7f3a583db 100644 (file)
--- a/scan.c
+++ b/scan.c
@@ -1827,7 +1827,7 @@ static void print_wifi_wps(const uint8_t type, uint8_t len, const uint8_t *data,
        while (len >= 4) {
                subtype = (data[0] << 8) + data[1];
                sublen = (data[2] << 8) + data[3];
-               if (sublen > len)
+               if (sublen > len - 4)
                        break;
 
                switch (subtype) {