1 diff --git a/src/xdr.c b/src/xdr.c
2 index 764c30f..292723b 100644
5 @@ -669,6 +669,8 @@ xdr_string(xdrs, cpp, maxsize)
14 @@ -681,6 +683,13 @@ xdr_string(xdrs, cpp, maxsize)
18 + if (nodesize == 0) {
19 + /* This means an overflow. It a bug in the caller which
20 + * provided a too large maxsize but nevertheless catch it
27 * now deal with the actual bytes
28 @@ -688,9 +697,6 @@ xdr_string(xdrs, cpp, maxsize)
32 - if (nodesize == 0) {
36 *cpp = sp = mem_alloc(nodesize);