From 3059ae05bae9306a2a435d9e00caf624b12b9810 Mon Sep 17 00:00:00 2001 From: pk Date: Tue, 15 Sep 1998 10:53:22 +0000 Subject: [PATCH] Apply patch from PR#5542: buffer overflow in lfs_markv(). --- sys/ufs/lfs/lfs_syscalls.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sys/ufs/lfs/lfs_syscalls.c b/sys/ufs/lfs/lfs_syscalls.c index 9cf1dd584075..9523da972590 100644 --- a/sys/ufs/lfs/lfs_syscalls.c +++ b/sys/ufs/lfs/lfs_syscalls.c @@ -1,4 +1,4 @@ -/* $NetBSD: lfs_syscalls.c,v 1.18 1998/06/24 20:58:48 sommerfe Exp $ */ +/* $NetBSD: lfs_syscalls.c,v 1.19 1998/09/15 10:53:22 pk Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 @@ -193,6 +193,15 @@ lfs_markv(p, v, retval) v_daddr = LFS_UNUSED_DADDR; continue; } + if(((SEGSUM *)(sp->segsum))->ss_nfinfo == 0) { + sp->sum_bytes_left -= + sizeof(FINFO) - sizeof(ufs_daddr_t); + INC_FINFO(sp); + sp->start_lbp = &sp->fip->fi_blocks[0]; + sp->fip->fi_version = blkp->bi_version; + sp->fip->fi_nblocks = 0; + sp->fip->fi_ino = blkp->bi_inode; + } sp->vp = vp; ip = VTOI(vp); } else if (v_daddr == LFS_UNUSED_DADDR)