about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-12-18 21:30:12 +0000
committerJune McEnroe <june@causal.agency>2022-02-13 11:47:27 -0500
commit8bf017ec534a5df4172a612ae0a32532df7b32ad (patch)
tree8021260ee7cd494f9997fd6aa44dba70653c3892
parentRemove dependency on memrchr (diff)
downloadcgit-pink-8bf017ec534a5df4172a612ae0a32532df7b32ad.tar.gz
cgit-pink-8bf017ec534a5df4172a612ae0a32532df7b32ad.zip
Bail from blame if blob is binary
This avoids piping binary blobs through the source-filter.
-rw-r--r--ui-blame.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ui-blame.c b/ui-blame.c
index f28eea0..08832cd 100644
--- a/ui-blame.c
+++ b/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>",