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
| ||
|
Message-ID: <20240930113045.28616-4-ansuelsmth@gmail.com> Date: Mon, 30 Sep 2024 13:30:10 +0200 From: Christian Marangi <ansuelsmth@...il.com> To: Jens Axboe <axboe@...nel.dk>, Jonathan Corbet <corbet@....net>, Ulf Hansson <ulf.hansson@...aro.org>, Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>, Kees Cook <kees@...nel.org>, Andy Shevchenko <andy@...nel.org>, Christian Marangi <ansuelsmth@...il.com>, Daniel Golle <daniel@...rotopia.org>, INAGAKI Hiroshi <musashino.open@...il.com>, Christian Brauner <brauner@...nel.org>, Al Viro <viro@...iv.linux.org.uk>, Li Lingfeng <lilingfeng3@...wei.com>, Ming Lei <ming.lei@...hat.com>, Christian Heusel <christian@...sel.eu>, linux-block@...r.kernel.org, linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org, linux-mmc@...r.kernel.org, devicetree@...r.kernel.org, linux-hardening@...r.kernel.org, Miquel Raynal <miquel.raynal@...tlin.com>, Lorenzo Bianconi <lorenzo@...nel.org>, upstream@...oha.com Cc: Rasmus Villemoes <linux@...musvillemoes.dk> Subject: [PATCH v4 3/5] string: add strends() helper to check if a string ends with a suffix Add strends() helper to check if a string ends with a suffix. The unreadable strends is chosen to keep consistency with the parallel strstarts helper used to check if a string starts with a prefix. To prevent out-of-bounds read, len of string is checked against the prefix length before comparing the 2 string at the offset. Suggested-by: Rasmus Villemoes <linux@...musvillemoes.dk> Signed-off-by: Christian Marangi <ansuelsmth@...il.com> --- include/linux/string.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/linux/string.h b/include/linux/string.h index 0dd27afcfaf7..2c3df6ffb326 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -353,6 +353,19 @@ static inline bool strstarts(const char *str, const char *prefix) return strncmp(str, prefix, strlen(prefix)) == 0; } +/** + * strends - does @str end with @suffix? + * @str: string to examine + * @suffix: suffix to look for. + */ +static inline bool strends(const char *str, const char *suffix) +{ + size_t n = strlen(str); + size_t m = strlen(suffix); + + return n >= m && !memcmp(str + n - m, suffix, m); +} + size_t memweight(const void *ptr, size_t bytes); /** -- 2.45.2
Powered by blists - more mailing lists