lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Sat, 18 Jan 2020 11:27:22 -0500
From:   Carmeli Tamir <carmeli.tamir@...il.com>
To:     unlisted-recipients:; (no To-header on input)
Cc:     carmeli.tamir@...il.com, Alexander Viro <viro@...iv.linux.org.uk>,
        linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH] fs/binfmt_script: Use existing functions to clarify the code

This patch applies the  recently defined 'spacetab', 'next_non_spacetab'
and 'next_terminator' functions to more places in the code, improving 
its readability and reducing code duplication.

Signed-off-by: Carmeli Tamir <carmeli.tamir@...il.com>
---
 fs/binfmt_script.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/fs/binfmt_script.c b/fs/binfmt_script.c
index e9e6a6f4a35f..fc1c4a214690 100644
--- a/fs/binfmt_script.c
+++ b/fs/binfmt_script.c
@@ -88,19 +88,18 @@ static int load_script(struct linux_binprm *bprm)
 	*cp = '\0';
 	while (cp > bprm->buf) {
 		cp--;
-		if ((*cp == ' ') || (*cp == '\t'))
+		if (spacetab(*cp))
 			*cp = '\0';
 		else
 			break;
 	}
-	for (cp = bprm->buf+2; (*cp == ' ') || (*cp == '\t'); cp++);
+	cp = next_non_spacetab(bprm->buf+2, buf_end);
 	if (*cp == '\0')
 		return -ENOEXEC; /* No interpreter name found */
 	i_name = cp;
 	i_arg = NULL;
-	for ( ; *cp && (*cp != ' ') && (*cp != '\t'); cp++)
-		/* nothing */ ;
-	while ((*cp == ' ') || (*cp == '\t'))
+	cp = next_terminator(cp, buf_end);
+	while (spacetab(*cp))
 		*cp++ = '\0';
 	if (*cp)
 		i_arg = cp;
-- 
2.19.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ