const char *sharename)
{
struct share_params *result;
- fstring sname;
+ char *sname;
int snum;
- snum = find_service(sharename, sname);
+ if (!(sname = SMB_STRDUP(sharename))) {
+ return NULL;
+ }
+
+ snum = find_service(sname);
+ SAFE_FREE(sname);
if (snum < 0) {
return NULL;