Re: [PATCH] hfsplus: Add record offset check

From: Christoph Hellwig
Date: Thu Jul 14 2011 - 10:53:20 EST


>
> diff --git a/fs/hfsplus/brec.c b/fs/hfsplus/brec.c
> index 2312de3..5c51d04 100644
> --- a/fs/hfsplus/brec.c
> +++ b/fs/hfsplus/brec.c
> @@ -43,6 +43,10 @@ u16 hfs_brec_keylen(struct hfs_bnode *node, u16 rec)
> node->tree->node_size - (rec + 1) * 2);
> if (!recoff)
> return 0;
> + if (recoff >= node->tree->node_size) {
> + printk(KERN_ERR "hfs: recoff %d too large\n", recoff);
> + return 0;
> + }

As non-obvious as it sounds 0 is indded the canonical error return from
hfs_brec_keylen, so that patch looks good to me. Can you resend it
with a better title and description mentioning better validatation of
the on-disk structures?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/