diff options
author | Tim Potter <tpot@samba.org> | 2003-11-04 05:49:23 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2003-11-04 05:49:23 +0000 |
commit | 82f8a8aabd5f8d5b327ea70d9a65c4af29807958 (patch) | |
tree | 58664652b190bb53bd7fd48516c5fe4c55c2ae62 /source3/nsswitch | |
parent | 181df301cd5746d95ed4543e89a66a234f862adb (diff) | |
download | samba-82f8a8aabd5f8d5b327ea70d9a65c4af29807958.tar.gz samba-82f8a8aabd5f8d5b327ea70d9a65c4af29807958.tar.bz2 samba-82f8a8aabd5f8d5b327ea70d9a65c4af29807958.zip |
Use a static string instead of malloced one in winbind_{off,on}() utility
functions.
(This used to be commit 7710232ba21305a1e3c9523ace82a5a419526b50)
Diffstat (limited to 'source3/nsswitch')
-rw-r--r-- | source3/nsswitch/wb_common.c | 37 |
1 files changed, 8 insertions, 29 deletions
diff --git a/source3/nsswitch/wb_common.c b/source3/nsswitch/wb_common.c index 793d4a30b8..40221b69fe 100644 --- a/source3/nsswitch/wb_common.c +++ b/source3/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; +} |