mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
s3: Fix some errno assignments in SMBC_opendir_ctx
Do the assignment as the last action to make sure it's not overwritten Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Thu Mar 24 17:31:57 CET 2011 on sn-devel-104
This commit is contained in:
parent
9db92bb7f9
commit
155c4fbc10
@ -383,16 +383,16 @@ SMBC_opendir_ctx(SMBCCTX *context,
|
||||
|
||||
if (!context || !context->internal->initialized) {
|
||||
DEBUG(4, ("no valid context\n"));
|
||||
errno = EINVAL + 8192;
|
||||
TALLOC_FREE(frame);
|
||||
errno = EINVAL + 8192;
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
if (!fname) {
|
||||
DEBUG(4, ("no valid fname\n"));
|
||||
errno = EINVAL + 8193;
|
||||
TALLOC_FREE(frame);
|
||||
errno = EINVAL + 8193;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -407,8 +407,8 @@ SMBC_opendir_ctx(SMBCCTX *context,
|
||||
&password,
|
||||
&options)) {
|
||||
DEBUG(4, ("no valid path\n"));
|
||||
errno = EINVAL + 8194;
|
||||
TALLOC_FREE(frame);
|
||||
errno = EINVAL + 8194;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -419,16 +419,16 @@ SMBC_opendir_ctx(SMBCCTX *context,
|
||||
/* Ensure the options are valid */
|
||||
if (SMBC_check_options(server, share, path, options)) {
|
||||
DEBUG(4, ("unacceptable options (%s)\n", options));
|
||||
errno = EINVAL + 8195;
|
||||
TALLOC_FREE(frame);
|
||||
errno = EINVAL + 8195;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!user || user[0] == (char)0) {
|
||||
user = talloc_strdup(frame, smbc_getUser(context));
|
||||
if (!user) {
|
||||
errno = ENOMEM;
|
||||
TALLOC_FREE(frame);
|
||||
errno = ENOMEM;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
@ -436,8 +436,8 @@ SMBC_opendir_ctx(SMBCCTX *context,
|
||||
dir = SMB_MALLOC_P(SMBCFILE);
|
||||
|
||||
if (!dir) {
|
||||
errno = ENOMEM;
|
||||
TALLOC_FREE(frame);
|
||||
errno = ENOMEM;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -461,12 +461,12 @@ SMBC_opendir_ctx(SMBCCTX *context,
|
||||
|
||||
if (share[0] != (char)0 || path[0] != (char)0) {
|
||||
|
||||
errno = EINVAL + 8196;
|
||||
if (dir) {
|
||||
SAFE_FREE(dir->fname);
|
||||
SAFE_FREE(dir);
|
||||
}
|
||||
TALLOC_FREE(frame);
|
||||
errno = EINVAL + 8196;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -509,16 +509,16 @@ SMBC_opendir_ctx(SMBCCTX *context,
|
||||
SAFE_FREE(dir->fname);
|
||||
SAFE_FREE(dir);
|
||||
}
|
||||
errno = ENOENT;
|
||||
TALLOC_FREE(frame);
|
||||
errno = ENOENT;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ip_list = (struct ip_service *)memdup(
|
||||
&server_addr, sizeof(server_addr));
|
||||
if (ip_list == NULL) {
|
||||
errno = ENOMEM;
|
||||
TALLOC_FREE(frame);
|
||||
errno = ENOMEM;
|
||||
return NULL;
|
||||
}
|
||||
count = 1;
|
||||
@ -554,8 +554,8 @@ SMBC_opendir_ctx(SMBCCTX *context,
|
||||
SAFE_FREE(dir->fname);
|
||||
SAFE_FREE(dir);
|
||||
}
|
||||
errno = ENOMEM;
|
||||
TALLOC_FREE(frame);
|
||||
errno = ENOMEM;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -599,12 +599,12 @@ SMBC_opendir_ctx(SMBCCTX *context,
|
||||
if (*path != '\0') {
|
||||
|
||||
/* Should not have empty share with path */
|
||||
errno = EINVAL + 8197;
|
||||
if (dir) {
|
||||
SAFE_FREE(dir->fname);
|
||||
SAFE_FREE(dir);
|
||||
}
|
||||
TALLOC_FREE(frame);
|
||||
errno = EINVAL + 8197;
|
||||
return NULL;
|
||||
|
||||
}
|
||||
@ -662,8 +662,8 @@ SMBC_opendir_ctx(SMBCCTX *context,
|
||||
SAFE_FREE(dir->fname);
|
||||
SAFE_FREE(dir);
|
||||
}
|
||||
errno = EPERM;
|
||||
TALLOC_FREE(frame);
|
||||
errno = EPERM;
|
||||
return NULL;
|
||||
|
||||
}
|
||||
@ -863,8 +863,8 @@ SMBC_opendir_ctx(SMBCCTX *context,
|
||||
}
|
||||
}
|
||||
|
||||
errno = saved_errno;
|
||||
TALLOC_FREE(frame);
|
||||
errno = saved_errno;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user