summaryrefslogtreecommitdiff
path: root/source3/modules/vfs_xattr_tdb.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/modules/vfs_xattr_tdb.c')
-rw-r--r--source3/modules/vfs_xattr_tdb.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/source3/modules/vfs_xattr_tdb.c b/source3/modules/vfs_xattr_tdb.c
index ab40af4d6e..435b39a0d6 100644
--- a/source3/modules/vfs_xattr_tdb.c
+++ b/source3/modules/vfs_xattr_tdb.c
@@ -724,7 +724,7 @@ static void close_xattr_db(void **data)
static int xattr_tdb_connect(vfs_handle_struct *handle, const char *service,
const char *user)
{
- fstring sname;
+ char *sname = NULL;
int res, snum;
struct db_context *db;
@@ -733,9 +733,8 @@ static int xattr_tdb_connect(vfs_handle_struct *handle, const char *service,
return res;
}
- fstrcpy(sname, service);
- snum = find_service(sname);
- if (snum == -1) {
+ snum = find_service(talloc_tos(), service, &sname);
+ if (snum == -1 || sname == NULL) {
/*
* Should not happen, but we should not fail just *here*.
*/