author | Johan Herland <johan@herland.net> | 2010-10-28 15:05:39 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2010-11-09 23:22:41 (UTC) |
commit | 52558a6d39d52e2b2968b622534b0ffa4da285cb (patch) (side-by-side diff) | |
tree | 57039f23e4bf4387ec64e6ed8b993af704e37c6c | |
parent | 53f487dd71b597b0771359f2125388af0913f25e (diff) | |
download | cgit-52558a6d39d52e2b2968b622534b0ffa4da285cb.zip cgit-52558a6d39d52e2b2968b622534b0ffa4da285cb.tar.gz cgit-52558a6d39d52e2b2968b622534b0ffa4da285cb.tar.bz2 |
ui-log: Prevent crash when given empty range search
Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-log.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -141,49 +141,49 @@ static const char *disambiguate_ref(const char *ref) unsigned char sha1[20]; const char *longref; longref = fmt("refs/heads/%s", ref); if (get_sha1(longref, sha1) == 0) return longref; return ref; } void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern, char *path, int pager) { struct rev_info rev; struct commit *commit; const char *argv[] = {NULL, NULL, NULL, NULL, NULL}; int argc = 2; int i, columns = 3; if (!tip) tip = ctx.qry.head; argv[1] = disambiguate_ref(tip); - if (grep && pattern) { + if (grep && pattern && *pattern) { if (!strcmp(grep, "grep") || !strcmp(grep, "author") || !strcmp(grep, "committer")) argv[argc++] = fmt("--%s=%s", grep, pattern); if (!strcmp(grep, "range")) argv[1] = pattern; } if (path) { argv[argc++] = "--"; argv[argc++] = path; } init_revisions(&rev, NULL); rev.abbrev = DEFAULT_ABBREV; rev.commit_format = CMIT_FMT_DEFAULT; rev.verbose_header = 1; rev.show_root_diff = 0; setup_revisions(argc, argv, &rev, NULL); load_ref_decorations(DECORATE_FULL_REFS); rev.show_decorations = 1; rev.grep_filter.regflags |= REG_ICASE; compile_grep_patterns(&rev.grep_filter); prepare_revision_walk(&rev); if (pager) |