X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/5dd6771b28c257af405d7248639ed0e3bcdce38b..9322ba2854211794c27fae9468768b80b767c211:/sbr/putenv.c diff --git a/sbr/putenv.c b/sbr/putenv.c index dd665141..5266d63e 100644 --- a/sbr/putenv.c +++ b/sbr/putenv.c @@ -19,16 +19,16 @@ int m_putenv (char *, char *); int unputenv (char *); static int nvmatch (char *, char *); +/* FIXME: These functions leak memory. No easy fix since they might not + * be malloc'd. Switch to setenv(3) and unsetenv(3). */ int m_putenv (char *name, char *value) { - register int i; - register char **ep, **nep, *cp; + int i; + char **ep, **nep, *cp; - cp = mh_xmalloc ((size_t) (strlen (name) + strlen (value) + 2)); - - sprintf (cp, "%s=%s", name, value); + cp = concat(name, "=", value, NULL); for (ep = environ, i = 0; *ep; ep++, i++) if (nvmatch (name, *ep)) {