[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha8-948-ged051ce
Andrew Tridgell
tridge at samba.org
Wed Aug 12 00:49:42 MDT 2009
The branch, master has been updated
via ed051ce424a93e08f59cd65ae0abe1a8926286a3 (commit)
via 011f103501e9465fbea56194910e082306bbf1f1 (commit)
from 3b5c6bc971c4e5c32b19072f0f54258792d00439 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit ed051ce424a93e08f59cd65ae0abe1a8926286a3
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed Aug 12 15:34:03 2009 +1000
try to give some hint as to what is causing NDR string errors
commit 011f103501e9465fbea56194910e082306bbf1f1
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed Aug 12 15:33:37 2009 +1000
when we get an NDR error in the logs, it is useful to know where it happened
-----------------------------------------------------------------------
Summary of changes:
librpc/ndr/libndr.h | 2 +-
pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 10 +++++-----
source4/librpc/ndr/ndr_string.c | 16 ++++++++--------
3 files changed, 14 insertions(+), 14 deletions(-)
Changeset truncated at 500 lines:
diff --git a/librpc/ndr/libndr.h b/librpc/ndr/libndr.h
index 7109b73..53bed01 100644
--- a/librpc/ndr/libndr.h
+++ b/librpc/ndr/libndr.h
@@ -215,7 +215,7 @@ enum ndr_compression_alg {
#define NDR_PULL_NEED_BYTES(ndr, n) do { \
if ((n) > ndr->data_size || ndr->offset + (n) > ndr->data_size) { \
- return ndr_pull_error(ndr, NDR_ERR_BUFSIZE, "Pull bytes %u", (unsigned)n); \
+ return ndr_pull_error(ndr, NDR_ERR_BUFSIZE, "Pull bytes %u (%s)", (unsigned)n, __location__); \
} \
} while(0)
diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
index 3e724c9..cc8085a 100644
--- a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
@@ -1669,7 +1669,7 @@ sub ParseUnionPushPrimitives($$$$)
}
if (! $have_default) {
$self->pidl("default:");
- $self->pidl("\treturn ndr_push_error($ndr, NDR_ERR_BAD_SWITCH, \"Bad switch value \%u\", level);");
+ $self->pidl("\treturn ndr_push_error($ndr, NDR_ERR_BAD_SWITCH, \"Bad switch value \%u at \%s\", level, __location__);");
}
$self->deindent;
$self->pidl("}");
@@ -1705,7 +1705,7 @@ sub ParseUnionPushDeferred($$$$)
}
if (! $have_default) {
$self->pidl("default:");
- $self->pidl("\treturn ndr_push_error($ndr, NDR_ERR_BAD_SWITCH, \"Bad switch value \%u\", level);");
+ $self->pidl("\treturn ndr_push_error($ndr, NDR_ERR_BAD_SWITCH, \"Bad switch value \%u at \%s\", level, __location__);");
}
$self->deindent;
$self->pidl("}");
@@ -1784,7 +1784,7 @@ sub ParseUnionPullPrimitives($$$$$)
if (defined($switch_type)) {
$self->pidl("NDR_CHECK(ndr_pull_$switch_type($ndr, NDR_SCALARS, &_level));");
$self->pidl("if (_level != level) {");
- $self->pidl("\treturn ndr_pull_error($ndr, NDR_ERR_BAD_SWITCH, \"Bad switch value %u for $varname\", _level);");
+ $self->pidl("\treturn ndr_pull_error($ndr, NDR_ERR_BAD_SWITCH, \"Bad switch value %u for $varname at \%s\", _level, __location__);");
$self->pidl("}");
}
@@ -1814,7 +1814,7 @@ sub ParseUnionPullPrimitives($$$$$)
}
if (! $have_default) {
$self->pidl("default:");
- $self->pidl("\treturn ndr_pull_error($ndr, NDR_ERR_BAD_SWITCH, \"Bad switch value \%u\", level);");
+ $self->pidl("\treturn ndr_pull_error($ndr, NDR_ERR_BAD_SWITCH, \"Bad switch value \%u at \%s\", level, __location__);");
}
$self->deindent;
$self->pidl("}");
@@ -1848,7 +1848,7 @@ sub ParseUnionPullDeferred($$$$)
}
if (! $have_default) {
$self->pidl("default:");
- $self->pidl("\treturn ndr_pull_error($ndr, NDR_ERR_BAD_SWITCH, \"Bad switch value \%u\", level);");
+ $self->pidl("\treturn ndr_pull_error($ndr, NDR_ERR_BAD_SWITCH, \"Bad switch value \%u at \%s\", level, __location__);");
}
$self->deindent;
$self->pidl("}");
diff --git a/source4/librpc/ndr/ndr_string.c b/source4/librpc/ndr/ndr_string.c
index d6d9968..d4e04c1 100644
--- a/source4/librpc/ndr/ndr_string.c
+++ b/source4/librpc/ndr/ndr_string.c
@@ -87,7 +87,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_string(struct ndr_pull *ndr, int ndr_flags,
(len2 + c_len_term)*byte_mul,
(void **)&as, &ret, false)) {
return ndr_pull_error(ndr, NDR_ERR_CHARCNV,
- "Bad character conversion");
+ "Bad character conversion with flags 0x%x", flags);
}
}
NDR_CHECK(ndr_pull_advance(ndr, (len2 + c_len_term)*byte_mul));
@@ -124,7 +124,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_string(struct ndr_pull *ndr, int ndr_flags,
(len1 + c_len_term)*byte_mul,
(void **)&as, &ret, false)) {
return ndr_pull_error(ndr, NDR_ERR_CHARCNV,
- "Bad character conversion");
+ "Bad character conversion with flags 0x%x", flags);
}
}
NDR_CHECK(ndr_pull_advance(ndr, (len1 + c_len_term)*byte_mul));
@@ -162,7 +162,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_string(struct ndr_pull *ndr, int ndr_flags,
(len1 + c_len_term)*byte_mul,
(void **)&as, &ret, false)) {
return ndr_pull_error(ndr, NDR_ERR_CHARCNV,
- "Bad character conversion");
+ "Bad character conversion with flags 0x%x", flags);
}
}
NDR_CHECK(ndr_pull_advance(ndr, (len1 + c_len_term)*byte_mul));
@@ -196,7 +196,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_string(struct ndr_pull *ndr, int ndr_flags,
(len3 + c_len_term)*byte_mul,
(void **)&as, &ret, false)) {
return ndr_pull_error(ndr, NDR_ERR_CHARCNV,
- "Bad character conversion");
+ "Bad character conversion with flags 0x%x", flags);
}
}
NDR_CHECK(ndr_pull_advance(ndr, (len3 + c_len_term)*byte_mul));
@@ -228,7 +228,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_string(struct ndr_pull *ndr, int ndr_flags,
len3,
(void **)&as, &ret, false)) {
return ndr_pull_error(ndr, NDR_ERR_CHARCNV,
- "Bad character conversion");
+ "Bad character conversion with flags 0x%x", flags);
}
}
NDR_CHECK(ndr_pull_advance(ndr, len3));
@@ -247,7 +247,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_string(struct ndr_pull *ndr, int ndr_flags,
len1,
(void **)&as, &ret, false)) {
return ndr_pull_error(ndr, NDR_ERR_CHARCNV,
- "Bad character conversion");
+ "Bad character conversion with flags 0x%x", flags);
}
NDR_CHECK(ndr_pull_advance(ndr, len1));
*s = as;
@@ -272,7 +272,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_string(struct ndr_pull *ndr, int ndr_flags,
len1,
(void **)&as, &ret, false)) {
return ndr_pull_error(ndr, NDR_ERR_CHARCNV,
- "Bad character conversion");
+ "Bad character conversion with flags 0x%x", flags);
}
}
NDR_CHECK(ndr_pull_advance(ndr, len1));
@@ -329,7 +329,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_string(struct ndr_push *ndr, int ndr_flags,
}
if (!convert_string_talloc_convenience(ndr, ndr->iconv_convenience, CH_UNIX, chset, s, s_len, (void **)&dest, &d_len, false)) {
return ndr_push_error(ndr, NDR_ERR_CHARCNV,
- "Bad character conversion");
+ "Bad character push conversion with flags 0x%x", flags);
}
if (flags & LIBNDR_FLAG_STR_BYTESIZE) {
--
Samba Shared Repository
More information about the samba-cvs
mailing list