all repos — cgit @ a0bf375a1a9b74056a913f3687c6f5b42ad4acf6

a hyperfast web frontend for git written in c

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>
Lukas Fleischer cgit@cryptocrack.de
Tue, 05 Apr 2011 10:35:43 +0200
commit

a0bf375a1a9b74056a913f3687c6f5b42ad4acf6

parent

070e109c1413d28b54eb6123a9fd24ac98897554

1 files changed, 4 insertions(+), 1 deletions(-)

jump to
M parsing.cparsing.c

@@ -103,7 +103,10 @@ const char *reencode(char **txt, const char *src_enc, const char *dst_enc)

{ char *tmp; - if (!txt || !*txt || !src_enc || !dst_enc) + if (!txt) + return NULL; + + if (!*txt || !src_enc || !dst_enc) return *txt; /* no encoding needed if src_enc equals dst_enc */