aboutsummaryrefslogtreecommitdiffstats
path: root/packet-nfs.c
diff options
context:
space:
mode:
authorGilbert Ramirez <gram@alumni.rice.edu>2001-03-06 18:27:07 +0000
committerGilbert Ramirez <gram@alumni.rice.edu>2001-03-06 18:27:07 +0000
commit697cd22723d1a75ae877eaf20c5dd969217fc713 (patch)
tree7bf91091a8f1613c6715e0403b4507df9ce11afd /packet-nfs.c
parent4b6b3da4e7d0c3543d4d0db96a0d56f7f2049fe2 (diff)
Fix a decode problem with failed NFSv4 SETATTR operations.
From Mike Frisch. svn path=/trunk/; revision=3109
Diffstat (limited to 'packet-nfs.c')
-rw-r--r--packet-nfs.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/packet-nfs.c b/packet-nfs.c
index 91ad33cf13..4cc6592fa7 100644
--- a/packet-nfs.c
+++ b/packet-nfs.c
@@ -3,7 +3,7 @@
* Copyright 1999, Uwe Girlich <Uwe.Girlich@philosys.de>
* Copyright 2000, Mike Frisch <frisch@hummingbird.com> (NFSv4 decoding)
*
- * $Id: packet-nfs.c,v 1.48 2001/03/02 21:54:02 guy Exp $
+ * $Id: packet-nfs.c,v 1.49 2001/03/06 18:27:07 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -5288,8 +5288,14 @@ dissect_nfs_resop4(const u_char *pd, int offset, frame_data *fd,
offset = dissect_nfs_nfsstat4(pd, offset, fd, newftree, &status);
- if (status != NFS4_OK &&
- (opcode != NFS4_OP_LOCK || opcode != NFS4_OP_LOCKT))
+ /*
+ * With the exception of NFS4_OP_LOCK, NFS4_OP_LOCKT, and
+ * NFS4_OP_SETATTR, all other ops do *not* return data with the
+ * failed status code.
+ */
+ if ((status != NFS4_OK) &&
+ ((opcode != NFS4_OP_LOCK) && (opcode != NFS4_OP_LOCKT) &&
+ (opcode != NFS4_OP_SETATTR)))
continue;
/* These parsing routines are only executed if the status is NFS4_OK */