From: Joe Hershberger Date: Wed, 4 Jul 2018 00:22:54 +0000 (-0500) Subject: net: Correct size of NFS buffers X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=2d114b83a7e44d448b6ffe1bf5e2ced11b769ab2;p=u-boot.git net: Correct size of NFS buffers Reported-by: Coverity (CID: 152888) Signed-off-by: Joe Hershberger --- diff --git a/net/nfs.h b/net/nfs.h index 6359cd2848..a377c90088 100644 --- a/net/nfs.h +++ b/net/nfs.h @@ -42,6 +42,7 @@ * case, most NFS servers are optimized for a power of 2. */ #define NFS_READ_SIZE 1024 /* biggest power of two that fits Ether frame */ +#define NFS_MAX_ATTRS 26 /* Values for Accept State flag on RPC answers (See: rfc1831) */ enum rpc_accept_stat { @@ -55,7 +56,8 @@ enum rpc_accept_stat { struct rpc_t { union { - uint8_t data[2048]; + uint8_t data[NFS_READ_SIZE + (6 + NFS_MAX_ATTRS) * + sizeof(uint32_t)]; struct { uint32_t id; uint32_t type; @@ -72,7 +74,8 @@ struct rpc_t { uint32_t verifier; uint32_t v2; uint32_t astatus; - uint32_t data[NFS_READ_SIZE]; + uint32_t data[NFS_READ_SIZE / sizeof(uint32_t) + + NFS_MAX_ATTRS]; } reply; } u; } __attribute__((packed));