]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
viced cap fetchdata len to avoid negative
authorDerrick Brashear <shadow@dementia.org>
Fri, 25 Sep 2009 11:15:40 +0000 (07:15 -0400)
committerRuss Allbery <rra@debian.org>
Tue, 29 Sep 2009 22:12:13 +0000 (15:12 -0700)
when trying to read from a short or zero length file,
it's possible for sanity checking to knock the length below
zero. set a floor at zero.

Reviewed-on: http://gerrit.openafs.org/494
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit 529d487d65d8561f5d0a43a4dc71f72b86efd975)
Reviewed-on: http://gerrit.openafs.org/500

src/viced/afsfileprocs.c

index 3d6520035b162af1ae797ac0bca35cc11835dd66..638a8238efc6144dbb961856d4fd66cb1d238751 100644 (file)
@@ -7089,8 +7089,9 @@ FetchData_RXStyle(Volume * volptr, Vnode * targetptr,
        Len = 0;
     }
 
-    if (Pos + Len > tlen)
-       Len = tlen - Pos;       /* get length we should send */
+    if (Pos + Len > tlen) /* get length we should send */
+       Len = ((tlen - Pos) < 0) ? 0 : tlen - Pos;
+
     (void)FDH_SEEK(fdP, Pos, 0);
     {
        afs_int32 high, low;