From 87d2aacd8b5fc30e4cabf8eb886eb8305f9e8a87 Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Mon, 2 Jul 2012 19:27:07 +0200 Subject: [PATCH] nfs4: Be careful when translating unsigned lock length to signed --- src/add-ons/kernel/file_systems/nfs4/Inode.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp index 0386cf8173..7014a8490b 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Inode.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/Inode.cpp @@ -709,7 +709,11 @@ Inode::TestLock(OpenFileCookie* cookie, struct flock* lock) if (reply.NFS4Error() == NFS4ERR_DENIED) { lock->l_type = sLockTypeToHaiku(ltype); lock->l_start = static_cast(pos); - lock->l_len = static_cast(len); + if (len >= OFF_MAX) + lock->l_len = OFF_MAX; + else + lock->l_len = static_cast(len); + result = B_OK; } else if (reply.NFS4Error() == NFS4_OK) lock->l_type = F_UNLCK;