diff options
Diffstat (limited to 'source3/modules')
-rw-r--r-- | source3/modules/vfs_xattr_tdb.c | 7 |
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*. */ |