Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp3541744ybv; Mon, 10 Feb 2020 01:46:58 -0800 (PST) X-Google-Smtp-Source: APXvYqydnzpQ1wXoEItyVJIFHVbeAfC0Rl2ODKbT7yGzHcHPhiybZniH+SowrsQejSmUk4a1tpR5 X-Received: by 2002:aca:4d06:: with SMTP id a6mr302458oib.27.1581328018081; Mon, 10 Feb 2020 01:46:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581328018; cv=none; d=google.com; s=arc-20160816; b=iGdWIIUHI5kD1m7QcTLprXkVRRT7VYYgpQNq5uGqRK3k1/83lT2HJoTlaN6D6BDyyo lp+wWTr4mUbGW+cjk49/zBBh+q4Cr40PMs6Gb4rilIYjh2WadJ341i64jqEzSuPHKk2o EVUBrMoKpEAoFzu5Drrjv8OPQ9x1+zhsxMOvWunUOidLd4vFxy2GzzT6bssGO2yvsErS mZbchhmAzQ6VB2rZunPR/9jwga/EFwcoj7FBxQEmtIehF4RuW0CZkdOwYLED+AP0KP14 N9rSAtH6zqIXu5Hl1l7jGvavDv5BnZ8epY/UYHCZg+LgBXbWckrG3Gx50tXdBpgd0348 mA3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=wIil6VWfsahOXsaQdv86hO1Py2PWloImLTv5zORtLIg=; b=amP0fgTby2EqHu4lczmEYk99rYs+I72ic39ETWL88eCejcfAfZEabBhOQBCjJX8sWp pl21qPvDKE4VFWW/ABsMejOLG6z9DuWPNXf8RlN5mMvmSXy1lneMqnZ83cXFYkVrb+C7 Eat3+zcWR/X6mx9xXyLe7CeJPIiI0hhv5bVctZ8Wq/u6b/66FWsDfmjWFIgA0V6VUCxu d+3ghYMRWLioSWrFZDWnFc0H1DgxdKY5ohRWdCcOYbSRcEHmSiDNJbv+gi6mnO5cQyU4 StrS3VbEESIpYDLcnGQHUXhFdjblhCfbyqZnSoFSpw7CfAUBdwCnki4rl5JkXzUA0Wjl nTnA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p5si4708033oto.116.2020.02.10.01.46.35; Mon, 10 Feb 2020 01:46:58 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727079AbgBJJqY (ORCPT + 99 others); Mon, 10 Feb 2020 04:46:24 -0500 Received: from smail.rz.tu-ilmenau.de ([141.24.186.67]:52011 "EHLO smail.rz.tu-ilmenau.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726950AbgBJJqY (ORCPT ); Mon, 10 Feb 2020 04:46:24 -0500 Received: from isengard.fritz.box (unknown [84.174.247.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smail.rz.tu-ilmenau.de (Postfix) with ESMTPSA id C2372580073; Mon, 10 Feb 2020 10:46:22 +0100 (CET) From: Markus Theil To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Markus Theil Subject: [PATCH 1/2] iw: scan: fix endless loop in print_measurement_pilot_tx Date: Mon, 10 Feb 2020 10:46:18 +0100 Message-Id: <20200210094619.14416-1-markus.theil@tu-ilmenau.de> X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org --- scan.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/scan.c b/scan.c index 98c5c10..a5beb0e 100644 --- a/scan.c +++ b/scan.c @@ -1548,6 +1548,7 @@ static void print_measurement_pilot_tx(const uint8_t type, uint8_t len, ++p; uint8_t len = *p; ++p; + const uint8_t *end = p + len; len_remaining -= 2; @@ -1557,18 +1558,21 @@ static void print_measurement_pilot_tx(const uint8_t type, uint8_t len, return; } - printf("\t\t * vendor specific: OUI %.2x:%.2x:%.2x, data:", - p[0], p[1], p[2]); - len_remaining -= 3; - - if (len > len_remaining) { + if (len < 3 || len > len_remaining) { printf(" \n"); return; } - while (p < p + len) + printf("\t\t * vendor specific: OUI %.2x:%.2x:%.2x, data:", + p[0], p[1], p[2]); + /* add only two here and use ++p in while loop */ + p += 2; + + while (++p < end) printf(" %.2x", *p); printf("\n"); + + len_remaining -= len; } } -- 2.25.0