diff --git a/banned-die.h b/banned-die.h index 589e9cc2bd..bf16ec5ba9 100644 --- a/banned-die.h +++ b/banned-die.h @@ -14,4 +14,7 @@ #undef xsnprintf #define xsnprintf(...) BANNED(xsnprintf) +#undef xstrdup +#define xstrdup(str) BANNED(xstrdup) + #endif /* BANNED_DIE_H */ diff --git a/trace2/tr2_sysenv.c b/trace2/tr2_sysenv.c index 7fa58eba91..4a9983caf4 100644 --- a/trace2/tr2_sysenv.c +++ b/trace2/tr2_sysenv.c @@ -75,7 +75,9 @@ static int tr2_sysenv_cb(const char *key, const char *value, if (!value) return config_error_nonbool(key); free(tr2_sysenv_settings[k].value); - tr2_sysenv_settings[k].value = xstrdup(value); + tr2_sysenv_settings[k].value = strdup(value); + if (!tr2_sysenv_settings[k].value) + return 0; return 0; } } @@ -111,7 +113,7 @@ const char *tr2_sysenv_get(enum tr2_sysenv_variable var) const char *v = getenv(tr2_sysenv_settings[var].env_var_name); if (v && *v) { free(tr2_sysenv_settings[var].value); - tr2_sysenv_settings[var].value = xstrdup(v); + tr2_sysenv_settings[var].value = strdup(v); } tr2_sysenv_settings[var].getenv_called = 1; }