about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2013-04-07 12:46:45 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2013-04-08 15:59:51 +0200
commit57d09bf448990b3a67436e928807e854e491756f (patch)
treef98b55d814936d416c42f9ca14067934c6e280bc
parentFix out-of-bounds memory accesses with virtual_root="" (diff)
downloadcgit-pink-57d09bf448990b3a67436e928807e854e491756f.tar.gz
cgit-pink-57d09bf448990b3a67436e928807e854e491756f.zip
Mark char* fields in struct cgit_page as const
Signed-off-by: John Keeping <john@keeping.me.uk>
-rw-r--r--cgit.h12
-rw-r--r--ui-plain.c3
2 files changed, 8 insertions, 7 deletions
diff --git a/cgit.h b/cgit.h
index fc3fc6f..7581cc1 100644
--- a/cgit.h
+++ b/cgit.h
@@ -245,13 +245,13 @@ struct cgit_page {
 	time_t modified;
 	time_t expires;
 	size_t size;
-	char *mimetype;
-	char *charset;
-	char *filename;
-	char *etag;
-	char *title;
+	const char *mimetype;
+	const char *charset;
+	const char *filename;
+	const char *etag;
+	const char *title;
 	int status;
-	char *statusmsg;
+	const char *statusmsg;
 };
 
 struct cgit_environment {
diff --git a/ui-plain.c b/ui-plain.c
index 4397a59..482d53a 100644
--- a/ui-plain.c
+++ b/ui-plain.c
@@ -100,8 +100,9 @@ static int print_object(const unsigned char *sha1, const char *path)
 	ctx.page.etag = sha1_to_hex(sha1);
 	cgit_print_http_headers(&ctx);
 	html_raw(buf, size);
+	/* If we allocated this, then casting away const is safe. */
 	if (freemime)
-		free(ctx.page.mimetype);
+		free((char*) ctx.page.mimetype);
 	return 1;
 }