diff options
author | Eric Andersen <andersen@codepoet.org> | 2001-07-07 04:27:35 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2001-07-07 04:27:35 +0000 |
commit | 5a071bcbf2d30eacc2934128caf7a20b6fd70e15 (patch) | |
tree | a7cb84309210befe3449d6bae4b4944181c27940 /libbb/last_char_is.c | |
parent | 934c8ecb8810c83fda10a2c185355de0564d839f (diff) | |
download | busybox-w32-5a071bcbf2d30eacc2934128caf7a20b6fd70e15.tar.gz busybox-w32-5a071bcbf2d30eacc2934128caf7a20b6fd70e15.tar.bz2 busybox-w32-5a071bcbf2d30eacc2934128caf7a20b6fd70e15.zip |
Avoid a segfault (detected by Fabio Ferrari
<fabio.ferrari@digitro.com.br> in the wget applet) when
concat_path_file() or last_char_is() were fed a NULL.
-Erik
Diffstat (limited to 'libbb/last_char_is.c')
-rw-r--r-- | libbb/last_char_is.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libbb/last_char_is.c b/libbb/last_char_is.c index a95e57c35..4e2ee92ed 100644 --- a/libbb/last_char_is.c +++ b/libbb/last_char_is.c | |||
@@ -28,7 +28,10 @@ | |||
28 | */ | 28 | */ |
29 | char * last_char_is(const char *s, int c) | 29 | char * last_char_is(const char *s, int c) |
30 | { | 30 | { |
31 | char *sret = (char *)s+strlen(s)-1; | 31 | char *sret; |
32 | if (!s) | ||
33 | return NULL; | ||
34 | sret = (char *)s+strlen(s)-1; | ||
32 | if (sret>=s && *sret == c) { | 35 | if (sret>=s && *sret == c) { |
33 | return sret; | 36 | return sret; |
34 | } else { | 37 | } else { |