svn commit: samba r25777 - in branches/SAMBA_4_0/source/librpc/ndr:
.
metze at samba.org
metze at samba.org
Thu Nov 1 09:50:26 GMT 2007
Author: metze
Date: 2007-11-01 09:50:24 +0000 (Thu, 01 Nov 2007)
New Revision: 25777
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25777
Log:
add NDR_ERR_UNREAD_BYTES and don't use NTSTATUS directly
metze
Modified:
branches/SAMBA_4_0/source/librpc/ndr/libndr.h
branches/SAMBA_4_0/source/librpc/ndr/ndr.c
Changeset:
Modified: branches/SAMBA_4_0/source/librpc/ndr/libndr.h
===================================================================
--- branches/SAMBA_4_0/source/librpc/ndr/libndr.h 2007-11-01 09:48:42 UTC (rev 25776)
+++ branches/SAMBA_4_0/source/librpc/ndr/libndr.h 2007-11-01 09:50:24 UTC (rev 25777)
@@ -175,7 +175,8 @@
NDR_ERR_RANGE,
NDR_ERR_TOKEN,
NDR_ERR_IPV4ADDRESS,
- NDR_ERR_INVALID_POINTER
+ NDR_ERR_INVALID_POINTER,
+ NDR_ERR_UNREAD_BYTES
};
enum ndr_compression_alg {
Modified: branches/SAMBA_4_0/source/librpc/ndr/ndr.c
===================================================================
--- branches/SAMBA_4_0/source/librpc/ndr/ndr.c 2007-11-01 09:48:42 UTC (rev 25776)
+++ branches/SAMBA_4_0/source/librpc/ndr/ndr.c 2007-11-01 09:50:24 UTC (rev 25777)
@@ -367,6 +367,8 @@
return NT_STATUS_ARRAY_BOUNDS_EXCEEDED;
case NDR_ERR_INVALID_POINTER:
return NT_STATUS_INVALID_PARAMETER_MIX;
+ case NDR_ERR_UNREAD_BYTES:
+ return NT_STATUS_PORT_MESSAGE_TOO_LONG;
default:
break;
}
@@ -748,7 +750,9 @@
status = fn(ndr, NDR_SCALARS|NDR_BUFFERS, p);
if (!NT_STATUS_IS_OK(status)) return status;
if (ndr->offset < ndr->data_size) {
- return NT_STATUS_PORT_MESSAGE_TOO_LONG;
+ return ndr_pull_error(ndr, NDR_ERR_UNREAD_BYTES,
+ "not all bytes consumed ofs[%u] size[%u]",
+ ndr->offset, ndr->data_size);
}
return NT_STATUS_OK;
}
@@ -786,7 +790,9 @@
status = fn(ndr, NDR_SCALARS|NDR_BUFFERS, p);
if (!NT_STATUS_IS_OK(status)) return status;
if (ndr->offset < ndr->data_size) {
- return NT_STATUS_PORT_MESSAGE_TOO_LONG;
+ return ndr_pull_error(ndr, NDR_ERR_UNREAD_BYTES,
+ "not all bytes consumed ofs[%u] size[%u]",
+ ndr->offset, ndr->data_size);
}
return NT_STATUS_OK;
}
More information about the samba-cvs
mailing list