diff options
author | Lukas Fleischer | 2011-04-05 10:35:43 +0200 |
---|---|---|
committer | Lars Hjemli | 2011-05-23 22:58:35 +0200 |
commit | a0bf375a1a9b74056a913f3687c6f5b42ad4acf6 (patch) | |
tree | d8845fbb7fcf73da11f29673081ed2ca31964e2e | |
parent | Fix memory leak in http_parse_querystring(). (diff) | |
download | cgit-a0bf375a1a9b74056a913f3687c6f5b42ad4acf6.tar.gz cgit-a0bf375a1a9b74056a913f3687c6f5b42ad4acf6.zip |
Avoid null pointer dereference in reencode().
Returning "*txt" if "txt" is a null pointer is a bad thing. Spotted with clang-analyzer. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | parsing.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/parsing.c b/parsing.c index c9e4350..151c0fe 100644 --- a/parsing.c +++ b/parsing.c | |||
@@ -103,7 +103,10 @@ const char *reencode(char **txt, const char *src_enc, const char *dst_enc) | |||
103 | { | 103 | { |
104 | char *tmp; | 104 | char *tmp; |
105 | 105 | ||
106 | if (!txt || !*txt || !src_enc || !dst_enc) | 106 | if (!txt) |
107 | return NULL; | ||
108 | |||
109 | if (!*txt || !src_enc || !dst_enc) | ||
107 | return *txt; | 110 | return *txt; |
108 | 111 | ||
109 | /* no encoding needed if src_enc equals dst_enc */ | 112 | /* no encoding needed if src_enc equals dst_enc */ |