diff options
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/netapi/netapi.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/source3/lib/netapi/netapi.c b/source3/lib/netapi/netapi.c index 82a8a8d3cd..fbec2757f0 100644 --- a/source3/lib/netapi/netapi.c +++ b/source3/lib/netapi/netapi.c @@ -81,6 +81,13 @@ NET_API_STATUS libnetapi_init(struct libnetapi_ctx **context) setenv(KRB5_ENV_CCNAME, ctx->krb5_cc_env, 1); } + ctx->username = talloc_strdup(frame, getenv("USER")); + if (!ctx->username) { + TALLOC_FREE(frame); + fprintf(stderr, "out of memory\n"); + return W_ERROR_V(WERR_NOMEM); + } + libnetapi_initialized = true; *context = stat_ctx = ctx; @@ -162,7 +169,8 @@ NET_API_STATUS libnetapi_set_username(struct libnetapi_ctx *ctx, const char *username) { TALLOC_FREE(ctx->username); - ctx->username = talloc_strdup(ctx, username); + ctx->username = talloc_strdup(ctx, username ? username : ""); + if (!ctx->username) { return W_ERROR_V(WERR_NOMEM); } |