diff options
Diffstat (limited to 'source3/smbd/msdfs.c')
-rw-r--r-- | source3/smbd/msdfs.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c index c005a2f3ab..165e802a82 100644 --- a/source3/smbd/msdfs.c +++ b/source3/smbd/msdfs.c @@ -833,11 +833,13 @@ NTSTATUS get_referred_path(TALLOC_CTX *ctx, /* Verify the share is a dfs root */ snum = lp_servicenumber(jucn->service_name); if(snum < 0) { - fstring service_name; - fstrcpy(service_name, jucn->service_name); - if ((snum = find_service(service_name)) < 0) { + char *service_name = NULL; + if ((snum = find_service(ctx, jucn->service_name, &service_name)) < 0) { return NT_STATUS_NOT_FOUND; } + if (!service_name) { + return NT_STATUS_NO_MEMORY; + } TALLOC_FREE(jucn->service_name); jucn->service_name = talloc_strdup(ctx, service_name); if (!jucn->service_name) { |