[SCM] Samba Shared Repository - branch v3-2-test updated -
initial-v3-2-unstable-380-g0002a9e
Jeremy Allison
jra at samba.org
Tue Nov 27 22:36:03 GMT 2007
The branch, v3-2-test has been updated
via 0002a9e96b0ef78316295a6eb94ff29b64e2f988 (commit)
via 951202913956e113841585f7372e8db8f9aeb76a (commit)
from 55b4f9d003b036af69085f7b64e0df08c5ba440d (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test
- Log -----------------------------------------------------------------
commit 0002a9e96b0ef78316295a6eb94ff29b64e2f988
Author: Jeremy Allison <jra at samba.org>
Date: Tue Nov 27 14:35:30 2007 -0800
Remove pstrings from everything except srv_spoolss_nt.c.
Jeremy.
commit 951202913956e113841585f7372e8db8f9aeb76a
Author: Guenther Deschner <gd at samba.org>
Date: Tue Nov 27 21:53:41 2007 +0100
fix a obscure compiler warning
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi Jeremy,
I have never seen this warning before:
"warning: comparison is always false due to limited range of data type".
Guenther
- --
Günther Deschner GPG-ID: 8EE11688
Red Hat gdeschner at redhat.com
Samba Team gd at samba.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iD8DBQFHTIOOSOk3aI7hFogRArxMAJwP0ktE96tHcwn9nXG6AOqonpeDgQCgm/zi
54B6HJZvx6zdUTMFFNWqUb0=
=kUJa
-----END PGP SIGNATURE-----
>From 6a4935ee455adc1251fce2759f97d35f303bd40e Mon Sep 17 00:00:00 2001
From: =?utf-8?q?G=C3=BCnther=20Deschner?= <gd at samba.org>
Date: Tue, 27 Nov 2007 21:48:39 +0100
Subject: [PATCH] Getting rid of "comparison is always false due to limited range of data type"
warning.
Guenther
-----------------------------------------------------------------------
Summary of changes:
source/auth/auth_util.c | 6 +-
source/lib/substitute.c | 34 +--
source/lib/util_unistr.c | 57 ++--
source/rpc_client/cli_ds.c | 4 +-
source/rpc_client/cli_lsarpc.c | 10 +-
source/rpc_client/cli_srvsvc.c | 44 ++--
source/rpc_server/srv_eventlog_lib.c | 6 +-
source/rpc_server/srv_srvsvc_nt.c | 510 +++++++++++++++++++++-------------
source/utils/net_rpc.c | 26 +-
source/winbindd/winbindd_ads.c | 4 +-
source/winbindd/winbindd_pam.c | 4 +-
source/winbindd/winbindd_rpc.c | 8 +-
12 files changed, 415 insertions(+), 298 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/auth/auth_util.c b/source/auth/auth_util.c
index 7ef8942..c0a9e9b 100644
--- a/source/auth/auth_util.c
+++ b/source/auth/auth_util.c
@@ -1452,13 +1452,13 @@ NTSTATUS make_server_info_info3(TALLOC_CTX *mem_ctx,
return NT_STATUS_INVALID_PARAMETER;
}
- if (!(nt_username = unistr2_tdup(mem_ctx, &(info3->uni_user_name)))) {
+ if (!(nt_username = unistr2_to_ascii_talloc(mem_ctx, &(info3->uni_user_name)))) {
/* If the server didn't give us one, just use the one we sent
* them */
nt_username = sent_nt_username;
}
- if (!(nt_domain = unistr2_tdup(mem_ctx, &(info3->uni_logon_dom)))) {
+ if (!(nt_domain = unistr2_to_ascii_talloc(mem_ctx, &(info3->uni_logon_dom)))) {
/* If the server didn't give us one, just use the one we sent
* them */
nt_domain = domain;
@@ -1620,7 +1620,7 @@ NTSTATUS make_server_info_info3(TALLOC_CTX *mem_ctx,
return nt_status;
}
- result->login_server = unistr2_tdup(result,
+ result->login_server = unistr2_to_ascii_talloc(result,
&(info3->uni_logon_srv));
/* ensure we are never given NULL session keys */
diff --git a/source/lib/substitute.c b/source/lib/substitute.c
index db79a9f..09604f8 100644
--- a/source/lib/substitute.c
+++ b/source/lib/substitute.c
@@ -831,8 +831,8 @@ static char *alloc_sub_advanced(const char *servicename, const char *user,
*/
char *talloc_sub_advanced(TALLOC_CTX *mem_ctx,
- const char *servicename, const char *user,
- const char *connectpath, gid_t gid,
+ const char *servicename, const char *user,
+ const char *connectpath, gid_t gid,
const char *smb_name, const char *domain_name,
const char *str)
{
@@ -848,13 +848,13 @@ char *talloc_sub_advanced(TALLOC_CTX *mem_ctx,
}
-void standard_sub_advanced(const char *servicename, const char *user,
- const char *connectpath, gid_t gid,
+void standard_sub_advanced(const char *servicename, const char *user,
+ const char *connectpath, gid_t gid,
const char *smb_name, const char *domain_name,
char *str, size_t len)
{
char *s;
-
+
s = alloc_sub_advanced(servicename, user, connectpath,
gid, smb_name, domain_name, str);
@@ -865,19 +865,17 @@ void standard_sub_advanced(const char *servicename, const char *user,
}
/****************************************************************************
- * Do some standard substitutions in a string.
- * ****************************************************************************/
+ Do some standard substitutions in a string.
+****************************************************************************/
-void standard_sub_conn(connection_struct *conn, char *str, size_t len)
+char *standard_sub_conn(TALLOC_CTX *ctx, connection_struct *conn, const char *str)
{
- char *s;
-
- s = alloc_sub_advanced(lp_servicename(SNUM(conn)), conn->user, conn->connectpath,
- conn->gid, get_smb_user_name(), "", str);
-
- if ( s ) {
- strncpy( str, s, len );
- SAFE_FREE( s );
- }
+ return talloc_sub_advanced(ctx,
+ lp_servicename(SNUM(conn)),
+ conn->user,
+ conn->connectpath,
+ conn->gid,
+ get_smb_user_name(),
+ "",
+ str);
}
-
diff --git a/source/lib/util_unistr.c b/source/lib/util_unistr.c
index bd2cd73..49b0b81 100644
--- a/source/lib/util_unistr.c
+++ b/source/lib/util_unistr.c
@@ -408,7 +408,7 @@ int rpcstr_push(void *dest, const char *src, size_t dest_len, int flags)
/* Converts a string from internal samba format to unicode. Always terminates.
* Actually just a wrapper round push_ucs2_talloc().
- */
+ */
int rpcstr_push_talloc(TALLOC_CTX *ctx, smb_ucs2_t **dest, const char *src)
{
@@ -428,6 +428,7 @@ void unistr2_to_ascii(char *dest, const UNISTR2 *str, size_t maxlen)
pull_ucs2(NULL, dest, str->buffer, maxlen, str->uni_str_len*2, STR_NOALIGN);
}
+#if 0
/*******************************************************************
Convert a (little-endian) UNISTR3 structure to an ASCII string.
********************************************************************/
@@ -441,53 +442,51 @@ void unistr3_to_ascii(char *dest, const UNISTR3 *str, size_t maxlen)
pull_ucs2(NULL, dest, str->str.buffer, maxlen, str->uni_str_len*2,
STR_NOALIGN);
}
+#endif
/*******************************************************************
- Return a string for displaying a UNISTR2. Guarentees to return a
- valid string - "" if nothing else.
- Changed to use talloc_tos() under the covers.... JRA.
+ Duplicate a UNISTR2 string into a null terminated char*
+ using a talloc context.
********************************************************************/
-const char *unistr2_static(const UNISTR2 *str)
+char *unistr2_to_ascii_talloc(TALLOC_CTX *ctx, const UNISTR2 *str)
{
- size_t ret = (size_t)-1;
- char *dest = NULL;
+ char *s = NULL;
- if ((str == NULL) || (str->uni_str_len == 0)) {
- return "";
+ if (!str || !str->buffer) {
+ return NULL;
}
-
- ret = pull_ucs2_base_talloc(talloc_tos(),
+ if (pull_ucs2_base_talloc(ctx,
NULL,
- &dest,
+ &s,
str->buffer,
str->uni_str_len*2,
- STR_NOALIGN);
- if (ret == (size_t)-1 || dest == NULL) {
- return "";
+ STR_NOALIGN) == (size_t)-1) {
+ return NULL;
}
-
- return dest;
+ return s;
}
/*******************************************************************
- Duplicate a UNISTR2 string into a null terminated char*
- using a talloc context.
+ Return a string for displaying a UNISTR2. Guarentees to return a
+ valid string - "" if nothing else.
+ Changed to use talloc_tos() under the covers.... JRA.
********************************************************************/
-char *unistr2_tdup(TALLOC_CTX *ctx, const UNISTR2 *str)
+const char *unistr2_static(const UNISTR2 *str)
{
- char *s;
- int maxlen = (str->uni_str_len+1)*4;
- if (!str->buffer) {
- return NULL;
+ char *dest = NULL;
+
+ if ((str == NULL) || (str->uni_str_len == 0)) {
+ return "";
}
- s = (char *)TALLOC(ctx, maxlen); /* convervative */
- if (!s) {
- return NULL;
+
+ dest = unistr2_to_ascii_talloc(talloc_tos(), str);
+ if (!dest) {
+ return "";
}
- pull_ucs2(NULL, s, str->buffer, maxlen, str->uni_str_len*2, STR_NOALIGN);
- return s;
+
+ return dest;
}
/*******************************************************************
diff --git a/source/rpc_client/cli_ds.c b/source/rpc_client/cli_ds.c
index 1724454..71516b8 100644
--- a/source/rpc_client/cli_ds.c
+++ b/source/rpc_client/cli_ds.c
@@ -121,13 +121,13 @@ NTSTATUS rpccli_ds_enum_domain_trusts(struct rpc_pipe_client *cli,
}
if (r.domains.trusts[i].netbios_ptr) {
- (*trusts)[i].netbios_domain = unistr2_tdup( mem_ctx, &r.domains.trusts[i].netbios_domain );
+ (*trusts)[i].netbios_domain = unistr2_to_ascii_talloc( mem_ctx, &r.domains.trusts[i].netbios_domain );
} else {
(*trusts)[i].netbios_domain = NULL;
}
if (r.domains.trusts[i].dns_ptr) {
- (*trusts)[i].dns_domain = unistr2_tdup( mem_ctx, &r.domains.trusts[i].dns_domain );
+ (*trusts)[i].dns_domain = unistr2_to_ascii_talloc( mem_ctx, &r.domains.trusts[i].dns_domain );
} else {
(*trusts)[i].dns_domain = NULL;
}
diff --git a/source/rpc_client/cli_lsarpc.c b/source/rpc_client/cli_lsarpc.c
index 7e3ce04..6abc67f 100644
--- a/source/rpc_client/cli_lsarpc.c
+++ b/source/rpc_client/cli_lsarpc.c
@@ -573,7 +573,7 @@ NTSTATUS rpccli_lsa_query_info_policy(struct rpc_pipe_client *cli,
case 3:
if (domain_name && (r.ctr.info.id3.buffer_dom_name != 0)) {
- *domain_name = unistr2_tdup(mem_ctx,
+ *domain_name = unistr2_to_ascii_talloc(mem_ctx,
&r.ctr.info.id3.
uni_domain_name);
if (!*domain_name) {
@@ -594,7 +594,7 @@ NTSTATUS rpccli_lsa_query_info_policy(struct rpc_pipe_client *cli,
case 5:
if (domain_name && (r.ctr.info.id5.buffer_dom_name != 0)) {
- *domain_name = unistr2_tdup(mem_ctx,
+ *domain_name = unistr2_to_ascii_talloc(mem_ctx,
&r.ctr.info.id5.
uni_domain_name);
if (!*domain_name) {
@@ -668,7 +668,7 @@ NTSTATUS rpccli_lsa_query_info_policy2(struct rpc_pipe_client *cli,
ZERO_STRUCTP(domain_guid);
if (domain_name && r.ctr.info.id12.hdr_nb_dom_name.buffer) {
- *domain_name = unistr2_tdup(mem_ctx,
+ *domain_name = unistr2_to_ascii_talloc(mem_ctx,
&r.ctr.info.id12
.uni_nb_dom_name);
if (!*domain_name) {
@@ -676,7 +676,7 @@ NTSTATUS rpccli_lsa_query_info_policy2(struct rpc_pipe_client *cli,
}
}
if (dns_name && r.ctr.info.id12.hdr_dns_dom_name.buffer) {
- *dns_name = unistr2_tdup(mem_ctx,
+ *dns_name = unistr2_to_ascii_talloc(mem_ctx,
&r.ctr.info.id12
.uni_dns_dom_name);
if (!*dns_name) {
@@ -684,7 +684,7 @@ NTSTATUS rpccli_lsa_query_info_policy2(struct rpc_pipe_client *cli,
}
}
if (forest_name && r.ctr.info.id12.hdr_forest_name.buffer) {
- *forest_name = unistr2_tdup(mem_ctx,
+ *forest_name = unistr2_to_ascii_talloc(mem_ctx,
&r.ctr.info.id12
.uni_forest_name);
if (!*forest_name) {
diff --git a/source/rpc_client/cli_srvsvc.c b/source/rpc_client/cli_srvsvc.c
index 50a6810..e5d9b4c 100644
--- a/source/rpc_client/cli_srvsvc.c
+++ b/source/rpc_client/cli_srvsvc.c
@@ -126,11 +126,11 @@ WERROR rpccli_srvsvc_net_share_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem
/* Duplicate strings */
- s = unistr2_tdup(mem_ctx, &r.ctr.share.info1[i].info_1_str.uni_netname);
+ s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info1[i].info_1_str.uni_netname);
if (s)
init_unistr2(&info1->info_1_str.uni_netname, s, UNI_STR_TERMINATE);
- s = unistr2_tdup(mem_ctx, &r.ctr.share.info1[i].info_1_str.uni_remark);
+ s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info1[i].info_1_str.uni_remark);
if (s)
init_unistr2(&info1->info_1_str.uni_remark, s, UNI_STR_TERMINATE);
@@ -156,19 +156,19 @@ WERROR rpccli_srvsvc_net_share_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem
/* Duplicate strings */
- s = unistr2_tdup(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_netname);
+ s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_netname);
if (s)
init_unistr2(&info2->info_2_str.uni_netname, s, UNI_STR_TERMINATE);
- s = unistr2_tdup(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_remark);
+ s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_remark);
if (s)
init_unistr2(&info2->info_2_str.uni_remark, s, UNI_STR_TERMINATE);
- s = unistr2_tdup(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_path);
+ s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_path);
if (s)
init_unistr2(&info2->info_2_str.uni_path, s, UNI_STR_TERMINATE);
- s = unistr2_tdup(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_passwd);
+ s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info2[i].info_2_str.uni_passwd);
if (s)
init_unistr2(&info2->info_2_str.uni_passwd, s, UNI_STR_TERMINATE);
}
@@ -193,19 +193,19 @@ WERROR rpccli_srvsvc_net_share_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem
/* Duplicate strings */
- s = unistr2_tdup(mem_ctx, &r.ctr.share.info502[i].info_502_str.uni_netname);
+ s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info502[i].info_502_str.uni_netname);
if (s)
init_unistr2(&info502->info_502_str.uni_netname, s, UNI_STR_TERMINATE);
- s = unistr2_tdup(mem_ctx, &r.ctr.share.info502[i].info_502_str.uni_remark);
+ s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info502[i].info_502_str.uni_remark);
if (s)
init_unistr2(&info502->info_502_str.uni_remark, s, UNI_STR_TERMINATE);
- s = unistr2_tdup(mem_ctx, &r.ctr.share.info502[i].info_502_str.uni_path);
+ s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info502[i].info_502_str.uni_path);
if (s)
init_unistr2(&info502->info_502_str.uni_path, s, UNI_STR_TERMINATE);
- s = unistr2_tdup(mem_ctx, &r.ctr.share.info502[i].info_502_str.uni_passwd);
+ s = unistr2_to_ascii_talloc(mem_ctx, &r.ctr.share.info502[i].info_502_str.uni_passwd);
if (s)
init_unistr2(&info502->info_502_str.uni_passwd, s, UNI_STR_TERMINATE);
@@ -271,12 +271,12 @@ WERROR rpccli_srvsvc_net_share_get_info(struct rpc_pipe_client *cli,
/* Duplicate strings */
- s = unistr2_tdup(mem_ctx, &info1_str->uni_netname);
+ s = unistr2_to_ascii_talloc(mem_ctx, &info1_str->uni_netname);
if (s)
init_unistr2(&info1_str->uni_netname,
s, UNI_STR_TERMINATE);
- s = unistr2_tdup(mem_ctx, &info1_str->uni_remark);
+ s = unistr2_to_ascii_talloc(mem_ctx, &info1_str->uni_remark);
if (s)
init_unistr2(&info1_str->uni_remark,
s, UNI_STR_TERMINATE);
@@ -294,22 +294,22 @@ WERROR rpccli_srvsvc_net_share_get_info(struct rpc_pipe_client *cli,
/* Duplicate strings */
- s = unistr2_tdup(mem_ctx, &info2_str->uni_netname);
+ s = unistr2_to_ascii_talloc(mem_ctx, &info2_str->uni_netname);
if (s)
init_unistr2(&info2_str->uni_netname,
s, UNI_STR_TERMINATE);
- s = unistr2_tdup(mem_ctx, &info2_str->uni_remark);
+ s = unistr2_to_ascii_talloc(mem_ctx, &info2_str->uni_remark);
if (s)
init_unistr2(&info2_str->uni_remark,
s, UNI_STR_TERMINATE);
- s = unistr2_tdup(mem_ctx, &info2_str->uni_path);
+ s = unistr2_to_ascii_talloc(mem_ctx, &info2_str->uni_path);
if (s)
init_unistr2(&info2_str->uni_path,
s, UNI_STR_TERMINATE);
- s = unistr2_tdup(mem_ctx, &info2_str->uni_passwd);
+ s = unistr2_to_ascii_talloc(mem_ctx, &info2_str->uni_passwd);
if (s)
init_unistr2(&info2_str->uni_passwd,
s, UNI_STR_TERMINATE);
@@ -328,22 +328,22 @@ WERROR rpccli_srvsvc_net_share_get_info(struct rpc_pipe_client *cli,
/* Duplicate strings */
- s = unistr2_tdup(mem_ctx, &info502_str->uni_netname);
+ s = unistr2_to_ascii_talloc(mem_ctx, &info502_str->uni_netname);
if (s)
init_unistr2(&info502_str->uni_netname,
s, UNI_STR_TERMINATE);
- s = unistr2_tdup(mem_ctx, &info502_str->uni_remark);
+ s = unistr2_to_ascii_talloc(mem_ctx, &info502_str->uni_remark);
if (s)
init_unistr2(&info502_str->uni_remark,
s, UNI_STR_TERMINATE);
- s = unistr2_tdup(mem_ctx, &info502_str->uni_path);
+ s = unistr2_to_ascii_talloc(mem_ctx, &info502_str->uni_path);
if (s)
init_unistr2(&info502_str->uni_path,
s, UNI_STR_TERMINATE);
- s = unistr2_tdup(mem_ctx, &info502_str->uni_passwd);
+ s = unistr2_to_ascii_talloc(mem_ctx, &info502_str->uni_passwd);
if (s)
init_unistr2(&info502_str->uni_passwd,
s, UNI_STR_TERMINATE);
@@ -564,12 +564,12 @@ WERROR rpccli_srvsvc_net_file_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_
/* Duplicate strings */
- if ( (s = unistr2_tdup(mem_ctx, r.ctr.file.info3[i].path)) != NULL ) {
+ if ( (s = unistr2_to_ascii_talloc(mem_ctx, r.ctr.file.info3[i].path)) != NULL ) {
info3->path = TALLOC_P( mem_ctx, UNISTR2 );
init_unistr2(info3->path, s, UNI_STR_TERMINATE);
}
- if ( (s = unistr2_tdup(mem_ctx, r.ctr.file.info3[i].user)) != NULL ) {
+ if ( (s = unistr2_to_ascii_talloc(mem_ctx, r.ctr.file.info3[i].user)) != NULL ) {
info3->user = TALLOC_P( mem_ctx, UNISTR2 );
init_unistr2(info3->user, s, UNI_STR_TERMINATE);
}
diff --git a/source/rpc_server/srv_eventlog_lib.c b/source/rpc_server/srv_eventlog_lib.c
index b964828..4e996ee 100644
--- a/source/rpc_server/srv_eventlog_lib.c
+++ b/source/rpc_server/srv_eventlog_lib.c
@@ -667,7 +667,7 @@ bool parse_logentry( char *line, Eventlog_entry * entry, bool * eor )
entry->data_record.source_name_len = rpcstr_push_talloc(ctx,
&entry->data_record.source_name,
stop);
- if (entry->data_record.source_name_len == (size_t)-1 ||
+ if (entry->data_record.source_name_len == (uint32_t)-1 ||
entry->data_record.source_name == NULL) {
return false;
}
@@ -679,7 +679,7 @@ bool parse_logentry( char *line, Eventlog_entry * entry, bool * eor )
entry->data_record.computer_name_len = rpcstr_push_talloc(ctx,
&entry->data_record.computer_name,
stop);
- if (entry->data_record.computer_name_len == (size_t)-1 ||
+ if (entry->data_record.computer_name_len == (uint32_t)-1 ||
entry->data_record.computer_name == NULL) {
return false;
}
@@ -691,7 +691,7 @@ bool parse_logentry( char *line, Eventlog_entry * entry, bool * eor )
entry->record.user_sid_length = rpcstr_push_talloc(ctx,
&entry->data_record.sid,
stop);
- if (entry->record.user_sid_length == (size_t)-1 ||
+ if (entry->record.user_sid_length == (uint32_t)-1 ||
entry->data_record.sid == NULL) {
return false;
}
diff --git a/source/rpc_server/srv_srvsvc_nt.c b/source/rpc_server/srv_srvsvc_nt.c
index 9788eb5..b034e7c 100644
--- a/source/rpc_server/srv_srvsvc_nt.c
+++ b/source/rpc_server/srv_srvsvc_nt.c
@@ -54,14 +54,14 @@ static int pipe_enum_fn( struct db_record *rec, void *p)
struct file_enum_count *fenum = (struct file_enum_count *)p;
FILE_INFO_3 *f;
int i = fenum->count;
- pstring fullpath;
+ char *fullpath = NULL;
const char *username;
-
+
if (rec->value.dsize != sizeof(struct pipe_open_rec))
return 0;
memcpy(&prec, rec->value.dptr, sizeof(struct pipe_open_rec));
-
+
if ( !process_exists(prec.pid) ) {
return 0;
}
@@ -72,22 +72,26 @@ static int pipe_enum_fn( struct db_record *rec, void *p)
&& !strequal(username, fenum->username)) {
return 0;
}
-
- snprintf( fullpath, sizeof(fullpath), "\\PIPE\\%s", prec.name );
-
+
+ fullpath = talloc_asprintf(fenum->ctx, "\\PIPE\\%s", prec.name );
+ if (!fullpath) {
+ return 1;
+ }
+
f = TALLOC_REALLOC_ARRAY( fenum->ctx, fenum->info, FILE_INFO_3, i+1 );
if ( !f ) {
DEBUG(0,("conn_enum_fn: realloc failed for %d items\n", i+1));
return 1;
}
fenum->info = f;
-
+
init_srv_file_info3(
- &fenum->info[i],
+ &fenum->info[i],
(uint32)((procid_to_pid(&prec.pid)<<16) & prec.pnum),
- (FILE_READ_DATA|FILE_WRITE_DATA),
+ (FILE_READ_DATA|FILE_WRITE_DATA),
0, username, fullpath);
-
+
+ TALLOC_FREE(fullpath);
fenum->count++;
return 0;
@@ -112,17 +116,17 @@ static WERROR net_enum_pipes( TALLOC_CTX *ctx, const char *username,
--
Samba Shared Repository
More information about the samba-cvs
mailing list