← Commit list

79a4032ee

Denys Vlasenko
Denys Vlasenko
2020-07-19
SUCCESS Duration: 152s

Subject

libbb: shrink last_char_is(), no longer allow NULL string argument

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

libbb/last_char_is.c+5 -10
@@ -11,14 +11,9 @@
/* Find out if the last character of a string matches the one given */
char* FAST_FUNC last_char_is(const char *s, int c)
{
- if (s) {
- size_t sz = strlen(s);
- /* Don't underrun the buffer if the string length is 0 */
- if (sz != 0) {
- s += sz - 1;
- if ((unsigned char)*s == c)
- return (char*)s;
- }
- }
- return NULL;
+ if (!s[0])
+ return NULL;
+ while (s[1])
+ s++;
+ return (*s == (char)c) ? (char *) s : NULL;
}