try to give some hint as to what is causing NDR string errors
authorAndrew Tridgell <tridge@samba.org>
Wed, 12 Aug 2009 05:34:03 +0000 (15:34 +1000)
committerAndrew Tridgell <tridge@samba.org>
Wed, 12 Aug 2009 05:34:03 +0000 (15:34 +1000)
source4/librpc/ndr/ndr_string.c

index d6d996846e31822f94f31484d1d7ba4ab2a45a3e..d4e04c12b449825141602fd9acc792b70c735745 100644 (file)
@@ -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) {