X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/652a5a18db3b0409fedfaf8c5720446d87628ba0..bdae1d8a8d39206ac75ab86f8e9ef53b2f29432e:/parsing.c diff --git a/parsing.c b/parsing.c index 151c0fe..9b7efb3 100644 --- a/parsing.c +++ b/parsing.c @@ -56,6 +56,8 @@ char *substr(const char *head, const char *tail) { char *buf; + if (tail < head) + return xstrdup(""); buf = xmalloc(tail - head + 1); strncpy(buf, head, tail - head); buf[tail - head] = '\0'; @@ -110,7 +112,7 @@ const char *reencode(char **txt, const char *src_enc, const char *dst_enc) return *txt; /* no encoding needed if src_enc equals dst_enc */ - if(!strcasecmp(src_enc, dst_enc)) + if (!strcasecmp(src_enc, dst_enc)) return *txt; tmp = reencode_string(*txt, dst_enc, src_enc); @@ -125,7 +127,7 @@ const char *reencode(char **txt, const char *src_enc, const char *dst_enc) struct commitinfo *cgit_parse_commit(struct commit *commit) { struct commitinfo *ret; - char *p = commit->buffer, *t = commit->buffer; + char *p = commit->buffer, *t; ret = xmalloc(sizeof(*ret)); ret->commit = commit; @@ -168,7 +170,7 @@ struct commitinfo *cgit_parse_commit(struct commit *commit) } /* if no special encoding is found, assume UTF-8 */ - if(!ret->msg_encoding) + if (!ret->msg_encoding) ret->msg_encoding = xstrdup("UTF-8"); // skip unknown header fields