summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--parsing.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/parsing.c b/parsing.c
index 4173dd4..4412dee 100644
--- a/parsing.c
+++ b/parsing.c
@@ -142,12 +142,18 @@ struct commitinfo *cgit_parse_commit(struct commit *commit)
{
struct commitinfo *ret;
char *p = commit->buffer, *t = commit->buffer;
ret = xmalloc(sizeof(*ret));
ret->commit = commit;
+ ret->author = NULL;
+ ret->author_email = NULL;
+ ret->committer = NULL;
+ ret->committer_email = NULL;
+ ret->subject = NULL;
+ ret->msg = NULL;
if (strncmp(p, "tree ", 5))
die("Bad commit: %s", sha1_to_hex(commit->object.sha1));
else
p += 46; // "tree " + hex[40] + "\n"
@@ -177,15 +183,16 @@ struct commitinfo *cgit_parse_commit(struct commit *commit)
}
while (*p == '\n')
p = strchr(p, '\n') + 1;
t = strchr(p, '\n');
+ if (t && *t) {
ret->subject = substr(p, t);
p = t + 1;
while (*p == '\n')
p = strchr(p, '\n') + 1;
ret->msg = p;
-
+ }
return ret;
}