summaryrefslogtreecommitdiffstats
path: root/source/librpc
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-11-30 13:10:44 +0000
committerStefan Metzmacher <metze@samba.org>2005-11-30 13:10:44 +0000
commit973d771f70d4fb8cece612ac7fc5e0a39f212d05 (patch)
tree0ca14e5ac565ee123248f9d74f3b2d8b64048a8a /source/librpc
parentceb25f66099b2361a102e76b72d13023e485343f (diff)
downloadsamba-973d771f70d4fb8cece612ac7fc5e0a39f212d05.tar.gz
samba-973d771f70d4fb8cece612ac7fc5e0a39f212d05.tar.xz
samba-973d771f70d4fb8cece612ac7fc5e0a39f212d05.zip
r11973: make it easier to find bugs
metze
Diffstat (limited to 'source/librpc')
-rw-r--r--source/librpc/ndr/libndr.h3
-rw-r--r--source/librpc/ndr/ndr_basic.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/source/librpc/ndr/libndr.h b/source/librpc/ndr/libndr.h
index 7df3650e4af..ca660786143 100644
--- a/source/librpc/ndr/libndr.h
+++ b/source/librpc/ndr/libndr.h
@@ -166,7 +166,8 @@ enum ndr_err_code {
NDR_ERR_BUFSIZE,
NDR_ERR_ALLOC,
NDR_ERR_RANGE,
- NDR_ERR_TOKEN
+ NDR_ERR_TOKEN,
+ NDR_ERR_IPV4ADDRESS
};
enum ndr_compression_alg {
diff --git a/source/librpc/ndr/ndr_basic.c b/source/librpc/ndr/ndr_basic.c
index d76fa45ec38..f22e7989bfd 100644
--- a/source/librpc/ndr/ndr_basic.c
+++ b/source/librpc/ndr/ndr_basic.c
@@ -570,7 +570,11 @@ NTSTATUS ndr_pull_ipv4address(struct ndr_pull *ndr, int ndr_flags, const char **
NTSTATUS ndr_push_ipv4address(struct ndr_push *ndr, int ndr_flags, const char *address)
{
uint32_t addr;
- if (!is_ipaddress(address)) return NT_STATUS_INVALID_PARAMETER_MIX;
+ if (!is_ipaddress(address)) {
+ return ndr_push_error(ndr, NDR_ERR_IPV4ADDRESS,
+ "Invalid IPv4 address: '%s'",
+ address);
+ }
addr = inet_addr(address);
NDR_CHECK(ndr_push_uint32(ndr, ndr_flags, htonl(addr)));
return NT_STATUS_OK;