diff options
author | Volker Lendecke <vl@samba.org> | 2012-04-24 14:23:11 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2012-04-24 18:18:05 +0200 |
commit | 2d01099acc77d433f06f36f854f27fd9f1e43f05 (patch) | |
tree | 004313472045a1465d878c5653066c1ffe3b4833 | |
parent | d1d0f1d11d07ee2ae64e7a83493e5dddde8611c0 (diff) | |
download | samba-2d01099acc77d433f06f36f854f27fd9f1e43f05.tar.gz samba-2d01099acc77d433f06f36f854f27fd9f1e43f05.tar.xz samba-2d01099acc77d433f06f36f854f27fd9f1e43f05.zip |
s3: Simplify check_reduced_name a bit
It's pointless to do a talloc_asprintf with a SMB_STRDUP on the
result. Use asprintf directly.
Autobuild-User: Volker Lendecke <vl@samba.org>
Autobuild-Date: Tue Apr 24 18:18:05 CEST 2012 on sn-devel-104
-rw-r--r-- | source3/smbd/vfs.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/source3/smbd/vfs.c b/source3/smbd/vfs.c index b330c03bfc..6c9692a65b 100644 --- a/source3/smbd/vfs.c +++ b/source3/smbd/vfs.c @@ -1089,6 +1089,7 @@ NTSTATUS check_reduced_name(connection_struct *conn, const char *fname) char *dir_name = NULL; const char *last_component = NULL; char *new_name = NULL; + int ret; /* Last component didn't exist. Remove it and try and canonicalise @@ -1114,18 +1115,13 @@ NTSTATUS check_reduced_name(connection_struct *conn, const char *fname) nt_errstr(status))); return status; } - new_name = talloc_asprintf(ctx, - "%s/%s", - resolved_name, - last_component); - if (!new_name) { - return NT_STATUS_NO_MEMORY; - } + ret = asprintf(&new_name, "%s/%s", + resolved_name, last_component); SAFE_FREE(resolved_name); - resolved_name = SMB_STRDUP(new_name); - if (!resolved_name) { + if (ret == -1) { return NT_STATUS_NO_MEMORY; } + resolved_name = new_name; break; } default: |