diff options
| author | Gaurav <gaurav@gluster.com> | 2011-05-31 23:40:27 +0000 | 
|---|---|---|
| committer | Anand Avati <avati@gluster.com> | 2011-06-01 00:29:46 -0700 | 
| commit | 197d850ff62ddcb266e3a9fab30ce753bf123540 (patch) | |
| tree | e4d86f6e96fc5b9e4f52ed7f193e04fb4897d34e | |
| parent | 37b562b1605f900927494ec501dff4190eb26097 (diff) | |
NFS : Handle buffer overflow in nfs3_create_exclusive.
Signed-off-by: Gaurav <gaurav@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 2972 (Buffer overflow in nfs3_create_exclusive.)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2972
| -rw-r--r-- | xlators/nfs/server/src/nfs3.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/xlators/nfs/server/src/nfs3.c b/xlators/nfs/server/src/nfs3.c index 13eb1c0eb..2fc295ef3 100644 --- a/xlators/nfs/server/src/nfs3.c +++ b/xlators/nfs/server/src/nfs3.c @@ -2437,8 +2437,10 @@ nfs3_create_exclusive (nfs3_call_state_t *cs)          /* Storing verifier as a mtime and atime attribute, to store it           * in stable storage */ -        cs->stbuf.ia_atime = (cs->cookieverf & 0xFFFFFFFF00000000); -        cs->stbuf.ia_mtime = (cs->cookieverf & 0x00000000FFFFFFFF); +        memcpy (&cs->stbuf.ia_atime, &cs->cookieverf, sizeof (cs->stbuf.ia_atime)); +        memcpy (&cs->stbuf.ia_mtime, +                ((char *) &cs->cookieverf) + sizeof (cs->stbuf.ia_atime), +                sizeof (cs->stbuf.ia_mtime));          cs->setattr_valid |= GF_SET_ATTR_ATIME;          cs->setattr_valid |= GF_SET_ATTR_MTIME;          nfs_request_user_init (&nfu, cs->req);  | 
