diff options
author | Lukas Fleischer <cgit@cryptocrack.de> | 2013-04-01 17:11:14 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2013-04-08 15:43:17 +0200 |
commit | 3a8432437934a0a95f2618b534b1f5b3494d6b18 (patch) | |
tree | 6e7dd26d45c4f10c60dc762a11071f1787a79443 | |
parent | 996f86e664ab6d00a9304a42374e9c691b78ca6b (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.c | 4 | ||||
-rw-r--r-- | cgit.h | 20 |
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 { |