summaryrefslogtreecommitdiff
path: root/ufs
diff options
context:
space:
mode:
Diffstat (limited to 'ufs')
-rw-r--r--ufs/bmap.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/ufs/bmap.c b/ufs/bmap.c
index e43a648c..0b3574b8 100644
--- a/ufs/bmap.c
+++ b/ufs/bmap.c
@@ -35,10 +35,18 @@ fetch_indir_spec (struct node *np, volatile daddr_t lbn,
if (err = diskfs_catch_exception ())
return err;
+ indirs[0].offset = -2;
+ indirs[1].offset = -2;
+ indirs[2].offset = -2;
+ indirs[3].offset = -2;
+
if (lbn < NDADDR)
{
- indirs[0].bno = di->di_db[lbn];
- indirs[0].offset = -1;
+ if (lbn >= 0)
+ {
+ indirs[0].bno = di->di_db[lbn];
+ indirs[0].offset = -1;
+ }
diskfs_end_catch_exception ();
return 0;