net: Correct size of NFS buffers

Reported-by: Coverity (CID: 152888)
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
lime2-spi
Joe Hershberger 6 years ago
parent f40a31e695
commit 2d114b83a7
  1. 7
      net/nfs.h

@ -42,6 +42,7 @@
* case, most NFS servers are optimized for a power of 2. * 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_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) */ /* Values for Accept State flag on RPC answers (See: rfc1831) */
enum rpc_accept_stat { enum rpc_accept_stat {
@ -55,7 +56,8 @@ enum rpc_accept_stat {
struct rpc_t { struct rpc_t {
union { union {
uint8_t data[2048]; uint8_t data[NFS_READ_SIZE + (6 + NFS_MAX_ATTRS) *
sizeof(uint32_t)];
struct { struct {
uint32_t id; uint32_t id;
uint32_t type; uint32_t type;
@ -72,7 +74,8 @@ struct rpc_t {
uint32_t verifier; uint32_t verifier;
uint32_t v2; uint32_t v2;
uint32_t astatus; uint32_t astatus;
uint32_t data[NFS_READ_SIZE]; uint32_t data[NFS_READ_SIZE / sizeof(uint32_t) +
NFS_MAX_ATTRS];
} reply; } reply;
} u; } u;
} __attribute__((packed)); } __attribute__((packed));

Loading…
Cancel
Save