prefetch-pioctls-overflow-20001104
authorChaskiel M Grundman <cg2v@andrew.cmu.edu>
Sun, 5 Nov 2000 01:16:17 +0000 (01:16 +0000)
committerDerrick Brashear <shadow@dementia.org>
Sun, 5 Nov 2000 01:16:17 +0000 (01:16 +0000)
1024 was being used of a buffer which wasn't that large.

src/afs/afs_daemons.c
src/afs/afs_pioctl.c

index 4026b3d..766d57c 100644 (file)
@@ -358,7 +358,7 @@ void BPath(ab)
     code = gop_lookupname((char *)ab->parm[0], AFS_UIOSYS, 1,  (struct vnode **) 0, (struct vnode **)&tvn);
 #endif
     AFS_GLOCK();
-    osi_FreeSmallSpace((char *)ab->parm[0]); /* free path name buffer here */
+    osi_FreeLargeSpace((char *)ab->parm[0]); /* free path name buffer here */
     if (code) return;
     /* now path may not have been in afs, so check that before calling our cache manager */
     if (!tvn || !IsAfsVnode((struct vnode *) tvn)) {
index 5688d72..ef73203 100644 (file)
@@ -1942,14 +1942,14 @@ struct AFS_UCRED *acred;
 
     AFS_STATCNT(Prefetch);
     if (!apath) return EINVAL;
-    tp = osi_AllocSmallSpace(AFS_SMALLOCSIZ);
+    tp = osi_AllocLargeSpace(1024);
     AFS_COPYINSTR(apath, tp, 1024, &bufferSize, code);
     if (code) {
-       osi_FreeSmallSpace(tp);
+       osi_FreeLargeSpace(tp);
        return code;
     }
     if (afs_BBusy()) { /* do this as late as possible */
-       osi_FreeSmallSpace(tp);
+       osi_FreeLargeSpace(tp);
        return EWOULDBLOCK;     /* pretty close */
     }
     afs_BQueue(BOP_PATH, (struct vcache*)0, 0, 0, acred, (long)tp, 0L, 0L, 0L);