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 5FD17A00C5; Wed, 2 Feb 2022 09:25:20 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DDF4A40E03; Wed, 2 Feb 2022 09:25:19 +0100 (CET) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mails.dpdk.org (Postfix) with ESMTP id D58C040DF4 for ; Wed, 2 Feb 2022 09:25:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643790318; x=1675326318; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=YQyvR6CiX4NBsHubwHME7dTBuAVpVEwVUbnrMFSmiwY=; b=A4z9kkm+oR5UPAi1j6wNiLlyURC8Pj+9hAMWrpDnXsfxyJys61+xCl8j SEht+97UnSKFByW7Yws78jKgWJhR3cqpeZOm/hs8sPWF51e3taHSRCKOQ RXwsno64dF9FS9sqZ9Ow5f5j4TYeEc0bKMQsCBMkZIycFQsmTfxwDa5IC Noxm6DbO02/PSzxXfYev+zDu6aBgIGBify+uRnWM7idieuJNYvMY9ALX6 6qD5kAkZ+Ud4j6If7Kyjb4/zr5pYKF9laOZFEf0bIDlF3zVJ0DddQMeeG xCNkpxhzZJYLenFoxMnpF4oqSMuG5fl1Uyn5WjBjpPX59WJPIlmPR4E9z A==; X-IronPort-AV: E=McAfee;i="6200,9189,10245"; a="248090790" X-IronPort-AV: E=Sophos;i="5.88,336,1635231600"; d="scan'208";a="248090790" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 00:25:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,336,1635231600"; d="scan'208";a="630849545" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga004.jf.intel.com with ESMTP; 02 Feb 2022 00:25:14 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 2 Feb 2022 00:25:14 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Wed, 2 Feb 2022 00:25:14 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.169) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Wed, 2 Feb 2022 00:25:13 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QSa0AYiZTw69JYkeYepm2dt9aJLald1FElSIeSkI2hwQ9pgXQSY4kOGhtWCyFCaeourAjrEtalED4xgK5UFJ102+YJG1xKJrsj1E9Ki+bT5sdeXYLgHivmPvUygHRz+LeIhf5LlBmT0J9ab2ku0iI1yROodBSpl0atdL4QF06iffJdbS7Bsfyh6IYhs/QvqIBvP+YvOX3jL5fVdkHSF00IriAoZB8PvMA6VFrTATpJs7q4jvcVJ/Daq5plVqzl/dJWjTp7LXl5RhHk7Re3Bd3WIr0jeVroBGnNSe91XprYKmvqRgV5CxTjWBbAVY5V3h9AvGfI1j4vkgVfzQqdM3vQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=U+oHHYMm0wiB0Xpfyn+Q49Tbv3RM2zp6rSz7cb2PIMI=; b=DlFQZqXEkxkR58gRoZ74CgCrwJRwtvu3o3NjJvN6vZDWmhClzbbq2a5/uuRL4jYddjUhrb8iG1jQ9MUWMrT9DDarLB0UD/ckSvzCVtyT+Lu+R/NH8gWqntXcCuZsK2YGFN0WNePK2OvCMNNMVLa8CxQzUqpnimQJ7fQ6s+PqRNPzgLjtkaUCwmjbK4/fGgGs4ZSpHBQn3VYefmzLxFgbzwKAbMlspZ1maC31lq2HYFQjifhWOj9mad4IemRrZ3r0xcckS8j1OJ7yYer/OhKfDvnQtv2ZgQccFFvMZsWRH7J9sI9b2+sZDIfRMAFdnJq0zHCWNSREjHbkjpMSAF0qqA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from DM6PR11MB4348.namprd11.prod.outlook.com (2603:10b6:5:1db::18) by SA2PR11MB4842.namprd11.prod.outlook.com (2603:10b6:806:f8::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.18; Wed, 2 Feb 2022 08:25:12 +0000 Received: from DM6PR11MB4348.namprd11.prod.outlook.com ([fe80::b913:f8f9:e5b8:ba88]) by DM6PR11MB4348.namprd11.prod.outlook.com ([fe80::b913:f8f9:e5b8:ba88%6]) with mapi id 15.20.4930.022; Wed, 2 Feb 2022 08:25:12 +0000 From: "Jayatheerthan, Jay" To: "Kundapura, Ganapati" , Weiguo Li CC: "Naga Harish K, S V" , "dev@dpdk.org" Subject: RE: [PATCH v2] eventdev/eth_rx: fix memory leak when token parsing finished Thread-Topic: [PATCH v2] eventdev/eth_rx: fix memory leak when token parsing finished Thread-Index: AQHYGAg/PKL6GmH3tUurSL0/Ibh74ax/4meAgAAKDkA= Date: Wed, 2 Feb 2022 08:25:12 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9f3222c0-e775-4e92-0bd0-08d9e625883c x-ms-traffictypediagnostic: SA2PR11MB4842:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:161; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Y0Hrs1S+B3BEWTPA5H0oS00YIo54dnO2cB69zhb76ADPY03DgnmHyJAdzHOkprkaGbfTWyPCVzZwuR1U9/whlzu//cEUBAQJmyLtymQfgoGXpVHFryHpM4GENsVASTaQDdC0RdEJHrmHoD0D906QJHPw3yeS4MlabBKqSGTUlw9DVq0X1LAt7uv8QN5g/EKHIu+HZm8O3olorM5Bi2k2Wp2cvCNtqmR2BXvMaCiJzUOAKb6QAk9QtPIHBmGd2J48ckIuGS+bsZBfuHjVG8D1NjiQG8hRIRcS2PsTJLmDvS+L90bsq1cdhMHCIXgYxFu54LD23BqBzr179UFdCnBI5xVfaJTiNsfibtQM//MOQA7vWHc/VQMyRlRMEakla6lv6+kV8TkyiM2yKzhiMnYhns1Hqj9USeSd6/kXlt5Xhl/mpEg3URmjFMpkFvmDoRKP9HKu2S5Vm6XkF4ZA7U9+pPTd9MRaIikT4uILomfjKAWlL7sfrdyTVbh0T78Sv9wldpa16JQFi01hHG4xQamP/nED9yU3xneVR5wTaxtRHiM1sYBCtusQCurNMtA9zx7CDSDqL1KS3BseW4GWJQ2tlDERDak1wTjqUFPOzBi4gkK7MK3X+B3pNpNDWHnpiUjRz1rY9Meazh7Tg77jp9E32XnH9NTz2V9jYD1IIKw0bFndHTXXj8hQntTtlPgXNG1Zg0Z9YHafD2ZHxcHHLAm3bA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB4348.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(54906003)(9686003)(82960400001)(66946007)(52536014)(6506007)(122000001)(71200400001)(508600001)(38070700005)(7696005)(110136005)(2906002)(86362001)(53546011)(66476007)(38100700002)(66556008)(4326008)(76116006)(316002)(66446008)(26005)(5660300002)(64756008)(83380400001)(8676002)(33656002)(55016003)(8936002)(186003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?GAXFeE3MKfxJgNeKH/abXEHfr+fEfgCPDRpW+EHs41dCYdBAMEOpb6d+Hfys?= =?us-ascii?Q?N8hBrlyh/xDr31zwdSZI9CAEVzbTwmMsqaYFfEuQlcu3z3GG1U2GtwszN52m?= =?us-ascii?Q?ENHCZhbeAfdsNjjHfKbGW9oa+8IAUL7lYKd7GAWRIq5bYTit1r6UbPOvn4Eh?= =?us-ascii?Q?zd7d5kHb9ONnMFXgz2ULFA6bkTOg59s35atsCs/BKMV15Y2HejauHInVVXtl?= =?us-ascii?Q?lGGbEYAp9UegRhug9AHKVgCT/0qBz981dZ9tQoJQQjoM9vXqohmcV9MH98iv?= =?us-ascii?Q?MFfDpH4H079/UqYjGRUETGg+StoxzaH2KghPP6ln2AfHFLXVrDOW1jNV4+4q?= =?us-ascii?Q?3vXVS+fgBADcdt6AVupJFiSkfaSEeDCAmvHfHGuVXQAmUbqf2VEnHgLj+gIP?= =?us-ascii?Q?KvNKlCDQq0Ae0h13+azcHk4nOtej2OT5cTd/utwNg8f+E6VcJ4keZ1K7oHN1?= =?us-ascii?Q?WjrV8ds/ISC8y6wC5zjVpUmRQ0b3J+jezDz3EIr1kGZGISAqkFXHtAUNA4OL?= =?us-ascii?Q?37pNcuVHjWPCuBTc2CT0OBWd90wcBnJvP60yL6bkWd9DGQINVTGLPAyFq1R6?= =?us-ascii?Q?4bqISa7olh+CPQCp4xumM1cIf5FjTdN6TYQrgLsG31qFq0angZzyCkk8g6cN?= =?us-ascii?Q?CDDk/9U7drR6lF4jWpJWr7bCroTK9s354AkGXH7aX7mh9LdhLhy3eHHz6jBg?= =?us-ascii?Q?aU2mc+eNlqnp5Dqnc0wrQ+5yWRlaty5n9JGdHNcz45oM5fo3nCJfhfEuMnqp?= =?us-ascii?Q?/jXWPLRAeEABx1K4oHHYYokh+I8YXsraimXVDi7vmpCErZpbNG/kvD7kWz48?= =?us-ascii?Q?x3+7izTCJzLY0w7YoERNGlM/Ba3BTDrg3baYaCsj3V/kQyhBIpDRkdHYH4nf?= =?us-ascii?Q?j559JgUasojex/Tz8McZZfj9VoYOFgiwaQctdp3mQhlCAiF8XTqUEzquPWKz?= =?us-ascii?Q?Q5W9Mk9mOX+5FxnTMyyloKKHjcl3m5aOSZ/LAciHCdTRMFhbGjC0FANUmTuY?= =?us-ascii?Q?nF4HXUmmF9tqWSlJfgRI9s2cTt2pVC5JDIvjmRTuX52fJxZ40tXYO1TwknY8?= =?us-ascii?Q?e53ExnlZWJTuqK5cRITcSJFZ0DCt+ABmnRXUfl0FfhFV2rHYo0EZF55sEnq0?= =?us-ascii?Q?iwiJdMsYGtZf5xmU8yC3/5zyou4PGM7lhE8gOJwc76FtBKPhe8kht+iwWTCP?= =?us-ascii?Q?StwO8OgyRPDUP09PfILGEj2Fqqp5e4t3/PJA0nuotsg0EHAAKt9DZIkM0HA4?= =?us-ascii?Q?Z7O4aVNs9xvEvgqLuZXkee46QJBqqRtM1F6wTUqr1kicUfVWR6VF95Ahliwh?= =?us-ascii?Q?JutJlkFgGjcx4Cr3s1CyoiO4bWznneUrmhMYfW74Q9NvxLMGgPtv2DFL1rAH?= =?us-ascii?Q?bSciEVS9JoIvEkUdi3pLnHf58XT1HxVprnFiwP0dyXVfgz4lYj4Jp1zCvyGg?= =?us-ascii?Q?4aRoxDrm1HwW4OeKh7bUE/n0IVkrKJgE7gnq0k59rcnnbnGwy2KbrPYSJJtt?= =?us-ascii?Q?vbkzQqf5W+eCF06+4siJckqraugOJyVD0WNjkHJzNXO4WA4rjCor5QrpgiGT?= =?us-ascii?Q?wAYC9xWamhEbZ3vqCrSQW7BflXiflTLq/ewKoiXQY+XVfqoRZSFfZ6V+hY5o?= =?us-ascii?Q?X6yj8cNCh1Qa2pXfBnwgLaH7iCTFVRUwwHwu+89j0wRNkib+6phFH77VCr3W?= =?us-ascii?Q?btFzKg=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4348.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f3222c0-e775-4e92-0bd0-08d9e625883c X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Feb 2022 08:25:12.2825 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: KIR07sOJM/3RFkSGt/PPvI802wyJUxGpJHxLGXfLUxwUEfH/ffFO5p5w5rJgKKjnhP+h62Qn/ndgeVcbsPwjxFn0Qb9PJrEkHAJu6ouSYsc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB4842 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Looks good. Thanks Weiguo for posting the patch. Acked-by: Jay Jayatheerthan -Jay > -----Original Message----- > From: Kundapura, Ganapati > Sent: Wednesday, February 2, 2022 1:18 PM > To: Weiguo Li ; Jayatheerthan, Jay > Cc: Naga Harish K, S V ; dev@dpdk.org > Subject: RE: [PATCH v2] eventdev/eth_rx: fix memory leak when token parsi= ng finished >=20 > Acked-by: Ganapati Kundapura >=20 > > -----Original Message----- > > From: Weiguo Li > > Sent: 02 February 2022 13:11 > > To: Jayatheerthan, Jay > > Cc: Kundapura, Ganapati ; Naga Harish K, = S > > V ; dev@dpdk.org > > Subject: [PATCH v2] eventdev/eth_rx: fix memory leak when token parsing > > finished > > > > The memory get from strdup should be freed when parameter parsing > > finished, and also should be freed when error occurs. > > > > Fixes: 814d01709328 ("eventdev/eth_rx: support telemetry") > > Fixes: 9e583185318f ("eventdev/eth_rx: support telemetry") > > > > Signed-off-by: Weiguo Li > > --- > > v2: > > * add memory check after strdup > > --- > > lib/eventdev/rte_event_eth_rx_adapter.c | 45 ++++++++++++++++++------ > > - > > 1 file changed, 33 insertions(+), 12 deletions(-) > > > > diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c > > b/lib/eventdev/rte_event_eth_rx_adapter.c > > index ae1e260c08..8519c98b19 100644 > > --- a/lib/eventdev/rte_event_eth_rx_adapter.c > > +++ b/lib/eventdev/rte_event_eth_rx_adapter.c > > @@ -3332,26 +3332,31 @@ handle_rxa_get_queue_conf(const char *cmd > > __rte_unused, > > > > /* Get Rx adapter ID from parameter string */ > > l_params =3D strdup(params); > > + if (l_params =3D=3D NULL) > > + return -ENOMEM; > > token =3D strtok(l_params, ","); > > rx_adapter_id =3D strtoul(token, NULL, 10); > > > > RTE_EVENT_ETH_RX_ADAPTER_ID_VALID_OR_ERR_RET(rx_adapter > > _id, -EINVAL); > > > > token =3D strtok(NULL, ","); > > - if (token =3D=3D NULL || strlen(token) =3D=3D 0 || !isdigit(*token)) > > + if (token =3D=3D NULL || strlen(token) =3D=3D 0 || !isdigit(*token)) = { > > + free(l_params); > > return -1; > > - > > + } > > /* Get device ID from parameter string */ > > eth_dev_id =3D strtoul(token, NULL, 10); > > RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(eth_dev_id, -EINVAL); > > > > token =3D strtok(NULL, ","); > > - if (token =3D=3D NULL || strlen(token) =3D=3D 0 || !isdigit(*token)) > > + if (token =3D=3D NULL || strlen(token) =3D=3D 0 || !isdigit(*token)) = { > > + free(l_params); > > return -1; > > - > > + } > > /* Get Rx queue ID from parameter string */ > > rx_queue_id =3D strtoul(token, NULL, 10); > > if (rx_queue_id >=3D rte_eth_devices[eth_dev_id].data- > > >nb_rx_queues) { > > RTE_EDEV_LOG_ERR("Invalid rx queue_id %u", > > rx_queue_id); > > + free(l_params); > > return -EINVAL; > > } > > > > @@ -3359,6 +3364,8 @@ handle_rxa_get_queue_conf(const char *cmd > > __rte_unused, > > if (token !=3D NULL) > > RTE_EDEV_LOG_ERR("Extra parameters passed to eventdev" > > " telemetry command, ignoring"); > > + /* Parsing parameter finished */ > > + free(l_params); > > > > if (rte_event_eth_rx_adapter_queue_conf_get(rx_adapter_id, > > eth_dev_id, > > rx_queue_id, > > &queue_conf)) { > > @@ -3396,26 +3403,31 @@ handle_rxa_get_queue_stats(const char *cmd > > __rte_unused, > > > > /* Get Rx adapter ID from parameter string */ > > l_params =3D strdup(params); > > + if (l_params =3D=3D NULL) > > + return -ENOMEM; > > token =3D strtok(l_params, ","); > > rx_adapter_id =3D strtoul(token, NULL, 10); > > > > RTE_EVENT_ETH_RX_ADAPTER_ID_VALID_OR_ERR_RET(rx_adapter > > _id, -EINVAL); > > > > token =3D strtok(NULL, ","); > > - if (token =3D=3D NULL || strlen(token) =3D=3D 0 || !isdigit(*token)) > > + if (token =3D=3D NULL || strlen(token) =3D=3D 0 || !isdigit(*token)) = { > > + free(l_params); > > return -1; > > - > > + } > > /* Get device ID from parameter string */ > > eth_dev_id =3D strtoul(token, NULL, 10); > > RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(eth_dev_id, -EINVAL); > > > > token =3D strtok(NULL, ","); > > - if (token =3D=3D NULL || strlen(token) =3D=3D 0 || !isdigit(*token)) > > + if (token =3D=3D NULL || strlen(token) =3D=3D 0 || !isdigit(*token)) = { > > + free(l_params); > > return -1; > > - > > + } > > /* Get Rx queue ID from parameter string */ > > rx_queue_id =3D strtoul(token, NULL, 10); > > if (rx_queue_id >=3D rte_eth_devices[eth_dev_id].data- > > >nb_rx_queues) { > > RTE_EDEV_LOG_ERR("Invalid rx queue_id %u", > > rx_queue_id); > > + free(l_params); > > return -EINVAL; > > } > > > > @@ -3423,6 +3435,8 @@ handle_rxa_get_queue_stats(const char *cmd > > __rte_unused, > > if (token !=3D NULL) > > RTE_EDEV_LOG_ERR("Extra parameters passed to eventdev" > > " telemetry command, ignoring"); > > + /* Parsing parameter finished */ > > + free(l_params); > > > > if (rte_event_eth_rx_adapter_queue_stats_get(rx_adapter_id, > > eth_dev_id, > > rx_queue_id, &q_stats)) { > > @@ -3458,26 +3472,31 @@ handle_rxa_queue_stats_reset(const char *cmd > > __rte_unused, > > > > /* Get Rx adapter ID from parameter string */ > > l_params =3D strdup(params); > > + if (l_params =3D=3D NULL) > > + return -ENOMEM; > > token =3D strtok(l_params, ","); > > rx_adapter_id =3D strtoul(token, NULL, 10); > > > > RTE_EVENT_ETH_RX_ADAPTER_ID_VALID_OR_ERR_RET(rx_adapter > > _id, -EINVAL); > > > > token =3D strtok(NULL, ","); > > - if (token =3D=3D NULL || strlen(token) =3D=3D 0 || !isdigit(*token)) > > + if (token =3D=3D NULL || strlen(token) =3D=3D 0 || !isdigit(*token)) = { > > + free(l_params); > > return -1; > > - > > + } > > /* Get device ID from parameter string */ > > eth_dev_id =3D strtoul(token, NULL, 10); > > RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(eth_dev_id, -EINVAL); > > > > token =3D strtok(NULL, ","); > > - if (token =3D=3D NULL || strlen(token) =3D=3D 0 || !isdigit(*token)) > > + if (token =3D=3D NULL || strlen(token) =3D=3D 0 || !isdigit(*token)) = { > > + free(l_params); > > return -1; > > - > > + } > > /* Get Rx queue ID from parameter string */ > > rx_queue_id =3D strtoul(token, NULL, 10); > > if (rx_queue_id >=3D rte_eth_devices[eth_dev_id].data- > > >nb_rx_queues) { > > RTE_EDEV_LOG_ERR("Invalid rx queue_id %u", > > rx_queue_id); > > + free(l_params); > > return -EINVAL; > > } > > > > @@ -3485,6 +3504,8 @@ handle_rxa_queue_stats_reset(const char *cmd > > __rte_unused, > > if (token !=3D NULL) > > RTE_EDEV_LOG_ERR("Extra parameters passed to eventdev" > > " telemetry command, ignoring"); > > + /* Parsing parameter finished */ > > + free(l_params); > > > > if (rte_event_eth_rx_adapter_queue_stats_reset(rx_adapter_id, > > eth_dev_id, > > -- > > 2.25.1