diff options
author | June McEnroe <june@causal.agency> | 2019-12-18 21:30:12 +0000 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-12-27 19:50:54 -0500 |
commit | 77b7eeb5f4f86b99c38144a285eba471405a3f6f (patch) | |
tree | 0c5e5b8ce1617c1117bc30dd2d75876cfc35c281 | |
parent | Remove dependency on memrchr (diff) | |
download | src-77b7eeb5f4f86b99c38144a285eba471405a3f6f.tar.gz src-77b7eeb5f4f86b99c38144a285eba471405a3f6f.zip |
Bail from blame if blob is binary
This avoids piping binary blobs through the source-filter.
-rw-r--r-- | www/git.causal.agency/cgit/ui-blame.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/www/git.causal.agency/cgit/ui-blame.c b/www/git.causal.agency/cgit/ui-blame.c index f28eea0c..08832cd0 100644 --- a/www/git.causal.agency/cgit/ui-blame.c +++ b/www/git.causal.agency/cgit/ui-blame.c @@ -151,6 +151,10 @@ static void print_object(const struct object_id *oid, const char *path, cgit_tree_link("tree", NULL, NULL, ctx.qry.head, rev, path); html(")\n"); + if (buffer_is_binary(buf, size)) { + html("<div class='error'>blob is binary.</div>"); + goto cleanup; + } if (ctx.cfg.max_blob_size && size / 1024 > ctx.cfg.max_blob_size) { htmlf("<div class='error'>blob size (%ldKB)" " exceeds display size limit (%dKB).</div>", |