Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753903AbdHQUPP (ORCPT ); Thu, 17 Aug 2017 16:15:15 -0400 Received: from mx2.suse.de ([195.135.220.15]:44068 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753470AbdHQUPM (ORCPT ); Thu, 17 Aug 2017 16:15:12 -0400 X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "References" From: Michal Suchanek To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Jonathan Corbet , Jessica Yu , Rusty Russell , Jason Baron , Hari Bathini , Mahesh J Salgaonkar , Daniel Axtens , Andrew Morton , Michal Suchanek , Thiago Jung Bauermann , Balbir Singh , Nicholas Piggin , Michael Neuling , "Aneesh Kumar K.V" , Christophe Leroy , Scott Wood , "Oliver O'Halloran" , David Howells , "Sylvain 'ythier' Hitier" , Ingo Molnar , Kees Cook , Thomas Gleixner Cc: "Steven Rostedt," , Viresh Kumar , Tejun Heo , Lokesh Vutla , Baoquan He , Ilya Matveychikov , linuxppc-dev@lists.ozlabs.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 3/4] lib/cmdline.c Remove quotes symmetrically. Date: Thu, 17 Aug 2017 22:14:30 +0200 Message-Id: <0e0a8ad11e2c9c7db02baa1bbb5a30f429586854.1503000577.git.msuchanek@suse.de> X-Mailer: git-send-email 2.10.2 In-Reply-To: <78655b3689f6cd0c76b787b8ef2c824ef75a99a5.1503000577.git.msuchanek@suse.de> References: <78655b3689f6cd0c76b787b8ef2c824ef75a99a5.1503000577.git.msuchanek@suse.de> In-Reply-To: <78655b3689f6cd0c76b787b8ef2c824ef75a99a5.1503000577.git.msuchanek@suse.de> References: <78655b3689f6cd0c76b787b8ef2c824ef75a99a5.1503000577.git.msuchanek@suse.de> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1459 Lines: 48 Remove quotes from argument value only if there is qoute on both sides. Signed-off-by: Michal Suchanek --- arch/powerpc/kernel/fadump.c | 6 ++---- lib/cmdline.c | 7 ++----- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c index a1614d9b8a21..d7da4ce9f7ae 100644 --- a/arch/powerpc/kernel/fadump.c +++ b/arch/powerpc/kernel/fadump.c @@ -489,10 +489,8 @@ static void __init fadump_update_params(struct param_info *param_info, *tgt++ = ' '; /* next_arg removes one leading and one trailing '"' */ - if (*tgt == '"') - shortening += 1; - if (*(tgt + vallen + shortening) == '"') - shortening += 1; + if ((*tgt == '"') && (*(tgt + vallen + shortening) == '"')) + shortening += 2; /* remove one leading and one trailing quote if both are present */ if ((val[0] == '"') && (val[vallen - 1] == '"')) { diff --git a/lib/cmdline.c b/lib/cmdline.c index 4c0888c4a68d..01e701b2afe8 100644 --- a/lib/cmdline.c +++ b/lib/cmdline.c @@ -227,14 +227,11 @@ char *next_arg(char *args, char **param, char **val) *val = args + equals + 1; /* Don't include quotes in value. */ - if (**val == '"') { + if ((**val == '"') && (args[i-1] == '"')) { (*val)++; - if (args[i-1] == '"') - args[i-1] = '\0'; + args[i-1] = '\0'; } } - if (quoted && args[i-1] == '"') - args[i-1] = '\0'; if (args[i]) { args[i] = '\0'; -- 2.10.2