diff options
Diffstat (limited to 'source3/smbd/lanman.c')
-rw-r--r-- | source3/smbd/lanman.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source3/smbd/lanman.c b/source3/smbd/lanman.c index e5527a5812..fd8b0c7928 100644 --- a/source3/smbd/lanman.c +++ b/source3/smbd/lanman.c @@ -1994,7 +1994,8 @@ static bool api_RNetShareGetInfo(struct smbd_server_connection *sconn, { char *str1 = get_safe_str_ptr(param,tpscnt,param,2); char *str2 = skip_string(param,tpscnt,str1); - char *netname = skip_string(param,tpscnt,str2); + char *netname_in = skip_string(param,tpscnt,str2); + char *netname = NULL; char *p = skip_string(param,tpscnt,netname); int uLevel = get_safe_SVAL(param,tpscnt,p,0,-1); int snum; @@ -2003,8 +2004,8 @@ static bool api_RNetShareGetInfo(struct smbd_server_connection *sconn, return False; } - snum = find_service(netname); - if (snum < 0) { + snum = find_service(talloc_tos(), netname_in, &netname); + if (snum < 0 || !netname) { return False; } |