Browse Source

Merge branch 'jk/config-path-include-fix' into maint

include.path variable (or any variable that expects a path that can
use ~username expansion) in the configuration file is not a boolean,
but the code failed to check it.

* jk/config-path-include-fix:
  handle_path_include: don't look at NULL value
  expand_user_path: do not look at NULL path
maint
Junio C Hamano 11 years ago
parent
commit
6f0166771a
  1. 6
      config.c
  2. 2
      path.c

6
config.c

@ -84,8 +84,12 @@ static int handle_path_include(const char *path, struct config_include_data *inc @@ -84,8 +84,12 @@ static int handle_path_include(const char *path, struct config_include_data *inc
{
int ret = 0;
struct strbuf buf = STRBUF_INIT;
char *expanded = expand_user_path(path);
char *expanded;

if (!path)
return config_error_nonbool("include.path");

expanded = expand_user_path(path);
if (!expanded)
return error("Could not expand include path '%s'", path);
path = expanded;

2
path.c

@ -265,12 +265,12 @@ static struct passwd *getpw_str(const char *username, size_t len) @@ -265,12 +265,12 @@ static struct passwd *getpw_str(const char *username, size_t len)
char *expand_user_path(const char *path)
{
struct strbuf user_path = STRBUF_INIT;
const char *first_slash = strchrnul(path, '/');
const char *to_copy = path;

if (path == NULL)
goto return_null;
if (path[0] == '~') {
const char *first_slash = strchrnul(path, '/');
const char *username = path + 1;
size_t username_len = first_slash - username;
if (username_len == 0) {

Loading…
Cancel
Save