From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B58D146DE7 for ; Tue, 26 Aug 2025 16:00:39 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AB8FC40611; Tue, 26 Aug 2025 16:00:39 +0200 (CEST) Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by mails.dpdk.org (Postfix) with ESMTP id C40D1402D4 for ; Tue, 26 Aug 2025 16:00:36 +0200 (CEST) Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-45b60fd5a1dso17767165e9.2 for ; Tue, 26 Aug 2025 07:00:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1756216836; x=1756821636; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=aWM2T6atFKXZ7dggdZkzM4H+tgdKdUOQPvkZrgF1+Uc=; b=gL+GVzDmrJHktfQzSZFaMurKHnsMNng3m9GHqbbb+KEZTSZUi1p7wtc7ImqT35g59V 8MoyqJnraWhm0nONh7EJqQx3CJ7jVNoB/jqc3620EkcDJaF+ioP4y+GuOyPIaq8NUn/u iv3zgeTMlSPqjvNhTR2GpRArKMniZ1j7UiUR7BxCjOTuHGtor89zl2e1O+/f+SMhuzLF EbTjla8d2jIivGX2yxG/vnR/J0hra8MWAmQzY/sL8FMvLAjlaoKrK7cjpsBEPIXqBBg3 nmaQY+j4lwx6lVEQmEiPY8jg7NZ7HNUSeHys2V3QEG8MbFgc9ktWwAeN7HUO485uQy9B m++w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756216836; x=1756821636; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aWM2T6atFKXZ7dggdZkzM4H+tgdKdUOQPvkZrgF1+Uc=; b=eG5JL0+C7tiXGB4/UtdHTi1B6uLKyy2QR+Pdluymagw/7Jk8mU+xI3NfNAygF0Meo0 MxTCrTLvPE00WcYDPTaNZ2c+MUPifCiPh0FSMWHtY4ewHEe6HPOb64ka3BUIMd/h1WIh b0XPOQ3Wz8V42RYrEe6szftWxmydQi17SuGHaVHPSo/B5CbvEtAWxqwDBflsutBdlc/u mwfRXXRWBwYI1I4m7KMeFsbieHnk5Uimg0rLEA/4GGPuCE25oJLvZkiN0UZroHvdf64y ouJ4+fbcjvSUsSXF5+D2JDJepEiNg1tVOOLn2liYNAHeIkHsfZDzf5II3jbOzFOA050I l1rA== X-Forwarded-Encrypted: i=1; AJvYcCXbnno1AHvl6WSquNGsYayeFOh/hiuBlifa0RbgHY0XQzMHjXb2kPYmH4W9pgyetgcakY7Sca0=@dpdk.org X-Gm-Message-State: AOJu0YyZkRaJkEnEXM8L76RgpVy036tK5pGY0eMnoi8jvFepHXyaK2xd DMklj+zY2TWMofinZskY/BZswoF54PvriY7TD/bskZsl8fwj8XgcbqUuu4IPD4q3BD8= X-Gm-Gg: ASbGncu5o+7zsHPk6qL47Vowg079YsFjgx1lgQ7d1VBxSIZureOeJ9+wfUPpar0m1mH 1x22n/1GAn5kL+Qp5wWFLb8tk0bsMw+LMQgwbw3ChIEkQ/BSBQc00MxZqy0iMLlzgp+XUFjqbxe QgZbMJLWVO+BZTYC/H6hjkKVYAy0qBiumJdKkwdIaGzx0k+iK5XduFHywssCl1J/OBM3sFubRal 2T9g3TsDE2FgyeDtx9a33ygScWTgakXn9V1VfshvPZFsyVlqMpw1jzsT8PCDHXbOHbU0IIdkcGH p5EvjJcLbHYIlNI458/vO8vnDBX3NclsFDf6Rx9lzEW6DPliGLX5EeJrg9BXZ2yYvGJDiahRaB+ bpinatZq31juzGmb96wwwIAseNrk7oOEQQ3CTDstPJxU1l/tFxH6Q6hIf4vpM0J4YdfHgkWTawO w= X-Google-Smtp-Source: AGHT+IF489ZWjiaFvuUGGPi6UZgGRJ9TroeLhDbNKdkG9qBr1rMCCg012SFCwExnCQpywOTdYR77Bw== X-Received: by 2002:a05:600c:1389:b0:455:f59e:fd9b with SMTP id 5b1f17b1804b1-45b517c584cmr158812055e9.24.1756216835983; Tue, 26 Aug 2025 07:00:35 -0700 (PDT) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45b57492878sm151657685e9.19.2025.08.26.07.00.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Aug 2025 07:00:35 -0700 (PDT) Date: Tue, 26 Aug 2025 07:00:31 -0700 From: Stephen Hemminger To: Khadem Ullah <14pwcse1224@uetpeshawar.edu.pk> Cc: Cristian Dumitrescu , Aman Singh , Sunil Kumar Kori , dev@dpdk.org, stable@dpdk.org Subject: Re: [PATCH] app/testpmd: validate dscp and vlan table entries for meter creation Message-ID: <20250826070031.3428054f@hermes.local> In-Reply-To: <20250822121430.2228507-1-14pwcse1224@uetpeshawar.edu.pk> References: <20250822121430.2228507-1-14pwcse1224@uetpeshawar.edu.pk> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org On Fri, 22 Aug 2025 08:14:30 -0400 Khadem Ullah <14pwcse1224@uetpeshawar.edu.pk> wrote: > Add validation mechanism for meter creation. The maximum > possible entries are > [ ...] > [ ... ]. > Currently, testpmd allows any input table entries for dscp > and vlan tables. > > This patch validates the maximum possible dscp and vlan table > entries for meter creation. > > Fixes: 9f5488e326d3b ("app/testpmd: support different input color method") > Cc: stable@dpdk.org > > Signed-off-by: Khadem Ullah <14pwcse1224@uetpeshawar.edu.pk> > --- > app/test-pmd/cmdline_mtr.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/app/test-pmd/cmdline_mtr.c b/app/test-pmd/cmdline_mtr.c > index e16c5b268f..1435645c1a 100644 > --- a/app/test-pmd/cmdline_mtr.c > +++ b/app/test-pmd/cmdline_mtr.c > @@ -85,14 +85,33 @@ parse_uint(uint64_t *value, const char *str) > return 0; > } > > +static int > +validate_input_color_table_entries(char *str) > +{ > + char *token; > + int i = 0; Useless initialization > + token = strtok_r(str, PARSE_DELIMITER, &str); > + for (i = 0; token != NULL; i++) > + token = strtok_r(str, PARSE_DELIMITER, &str); Rather than parsing all the way to the end, why not put the max test inside the loop > + if (i > (MAX_DSCP_TABLE_ENTRIES + MAX_VLAN_TABLE_ENTRIES)) > + return -1; > + else > + return 0; > +} > + > static int > parse_input_color_table_entries(char *str, enum rte_color **dscp_table, > enum rte_color **vlan_table) > { > enum rte_color *vlan, *dscp; > char *token; > + char *temp_str = strdup(str); > int i = 0; > > + if (validate_input_color_table_entries(temp_str)) > + return -1; > + On error, this leaks the temporary string created (temp_str).