aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Fleischer <cgit@cryptocrack.de>2013-04-01 17:11:14 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2013-04-08 15:43:17 +0200
commit3a8432437934a0a95f2618b534b1f5b3494d6b18 (patch)
tree6e7dd26d45c4f10c60dc762a11071f1787a79443
parent996f86e664ab6d00a9304a42374e9c691b78ca6b (diff)
Maŕk cgit_environment members const
These reflect the values of environment variables and should never be changed. Add another xstrdup() when we assign environment variables to strings that are potentially non-constant. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
-rw-r--r--cgit.c4
-rw-r--r--cgit.h20
2 files changed, 12 insertions, 12 deletions
diff --git a/cgit.c b/cgit.c
index afafcce..d145f8a 100644
--- a/cgit.c
+++ b/cgit.c
@@ -401,9 +401,9 @@ static void prepare_context(struct cgit_context *ctx)
ctx->page.etag = NULL;
memset(&ctx->cfg.mimetypes, 0, sizeof(struct string_list));
if (ctx->env.script_name)
- ctx->cfg.script_name = ctx->env.script_name;
+ ctx->cfg.script_name = xstrdup(ctx->env.script_name);
if (ctx->env.query_string)
- ctx->qry.raw = ctx->env.query_string;
+ ctx->qry.raw = xstrdup(ctx->env.query_string);
if (!ctx->env.cgit_config)
ctx->env.cgit_config = CGIT_CONFIG;
}
diff --git a/cgit.h b/cgit.h
index ed5cf14..081f669 100644
--- a/cgit.h
+++ b/cgit.h
@@ -255,16 +255,16 @@ struct cgit_page {
};
struct cgit_environment {
- char *cgit_config;
- char *http_host;
- char *https;
- char *no_http;
- char *path_info;
- char *query_string;
- char *request_method;
- char *script_name;
- char *server_name;
- char *server_port;
+ const char *cgit_config;
+ const char *http_host;
+ const char *https;
+ const char *no_http;
+ const char *path_info;
+ const char *query_string;
+ const char *request_method;
+ const char *script_name;
+ const char *server_name;
+ const char *server_port;
};
struct cgit_context {