summaryrefslogtreecommitdiffstats
path: root/source/nsswitch/wb_common.c
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2003-11-04 05:49:23 +0000
committerTim Potter <tpot@samba.org>2003-11-04 05:49:23 +0000
commit7710232ba21305a1e3c9523ace82a5a419526b50 (patch)
tree9ea101d545a01e9d99a2d7ddbf66fce1c962854d /source/nsswitch/wb_common.c
parent119a89246bf84cb98b76cf3777c039fa8eb644f2 (diff)
downloadsamba-7710232ba21305a1e3c9523ace82a5a419526b50.tar.gz
samba-7710232ba21305a1e3c9523ace82a5a419526b50.tar.xz
samba-7710232ba21305a1e3c9523ace82a5a419526b50.zip
Use a static string instead of malloced one in winbind_{off,on}() utility
functions.
Diffstat (limited to 'source/nsswitch/wb_common.c')
-rw-r--r--source/nsswitch/wb_common.c37
1 files changed, 8 insertions, 29 deletions
diff --git a/source/nsswitch/wb_common.c b/source/nsswitch/wb_common.c
index 793d4a30b8a..40221b69feb 100644
--- a/source/nsswitch/wb_common.c
+++ b/source/nsswitch/wb_common.c
@@ -476,40 +476,19 @@ NSS_STATUS winbindd_request(int req_type,
enable them
************************************************************************/
-/* Use putenv() instead of setenv() as not all environments have the
- latter. */
-
-static int set_winbind_dont_env(char value)
-{
- int len = strlen(WINBINDD_DONT_ENV) + 3; /* len("_NO_WINBINDD=1\0") */
- char *s = malloc(len);
- int result;
-
- if (s == NULL)
- return -1;
-
- /* It's OK to use strcpy here as we have allocated the correct
- buffer size and no user or network data is used. */
-
- strcpy(s, WINBINDD_DONT_ENV);
-
- s[strlen(WINBINDD_DONT_ENV)] = '=';
- s[strlen(WINBINDD_DONT_ENV) + 1] = value;
- s[strlen(WINBINDD_DONT_ENV) + 2] = '\0';
-
- result = putenv(s);
-
- free(s);
- return result;
-}
+/* Use putenv() instead of setenv() in these functions as not all
+ environments have the latter. */
BOOL winbind_off( void )
{
- return set_winbind_dont_env('1') != -1;
+ static char *s = WINBINDD_DONT_ENV "=1";
+
+ return putenv(s) != -1;
}
BOOL winbind_on( void )
{
- return set_winbind_dont_env('0') != -1;
-}
+ static char *s = WINBINDD_DONT_ENV "=0";
+ return putenv(s) != -1;
+}