summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2009-01-11 15:37:47 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2009-01-11 15:37:47 (UTC)
commit720b6ece90900df9f836a45d8e7f1cd56f62400a (patch) (side-by-side diff)
tree217ed9ed3a2c87347caa8762c6b1319c4afeb839
parentc63aaff2adb83e5015841921fab233c2fe2e3b0a (diff)
downloadcgit-720b6ece90900df9f836a45d8e7f1cd56f62400a.zip
cgit-720b6ece90900df9f836a45d8e7f1cd56f62400a.tar.gz
cgit-720b6ece90900df9f836a45d8e7f1cd56f62400a.tar.bz2
ui-tag: escape tagnames properly
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--ui-tag.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ui-tag.c b/ui-tag.c
index 3aea87d..54b9f4c 100644
--- a/ui-tag.c
+++ b/ui-tag.c
@@ -8,72 +8,73 @@
#include "cgit.h"
#include "html.h"
#include "ui-shared.h"
static void print_tag_content(char *buf)
{
char *p;
if (!buf)
return;
html("<div class='commit-subject'>");
p = strchr(buf, '\n');
if (p)
*p = '\0';
html_txt(buf);
html("</div>");
if (p) {
html("<div class='commit-msg'>");
html_txt(++p);
html("</div>");
}
}
void cgit_print_tag(char *revname)
{
unsigned char sha1[20];
struct object *obj;
struct tag *tag;
struct taginfo *info;
if (get_sha1(revname, sha1)) {
cgit_print_error(fmt("Bad tag reference: %s", revname));
return;
}
obj = parse_object(sha1);
if (!obj) {
cgit_print_error(fmt("Bad object id: %s", sha1_to_hex(sha1)));
return;
}
if (obj->type == OBJ_TAG) {
tag = lookup_tag(sha1);
if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag))) {
cgit_print_error(fmt("Bad tag object: %s", revname));
return;
}
html("<table class='commit-info'>\n");
- htmlf("<tr><td>Tag name</td><td>%s (%s)</td></tr>\n",
- revname, sha1_to_hex(sha1));
+ htmlf("<tr><td>Tag name</td><td>");
+ html_txt(revname);
+ htmlf(" (%s)</td></tr>\n", sha1_to_hex(sha1));
if (info->tagger_date > 0) {
html("<tr><td>Tag date</td><td>");
cgit_print_date(info->tagger_date, FMT_LONGDATE, ctx.cfg.local_time);
html("</td></tr>\n");
}
if (info->tagger) {
html("<tr><td>Tagged by</td><td>");
html_txt(info->tagger);
if (info->tagger_email) {
html(" ");
html_txt(info->tagger_email);
}
html("</td></tr>\n");
}
html("<tr><td>Tagged object</td><td>");
cgit_object_link(tag->tagged);
html("</td></tr>\n");
html("</table>\n");
print_tag_content(info->msg);
}
return;
}