From: "KAMBAROV, ZAUR" It's doing if (obh) else dereference obh So presumably `obh' is never null in there. This defect was found automatically by Coverity Prevent, a static analysis tool. Signed-off-by: Zaur Kambarov Signed-off-by: Andrew Morton --- fs/udf/balloc.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diff -puN fs/udf/balloc.c~coverity-udf-balloc-null-deref-fix fs/udf/balloc.c --- devel/fs/udf/balloc.c~coverity-udf-balloc-null-deref-fix 2005-06-30 23:04:35.000000000 -0700 +++ devel-akpm/fs/udf/balloc.c 2005-06-30 23:04:35.000000000 -0700 @@ -584,10 +584,9 @@ static void udf_table_free_blocks(struct { loffset = nextoffset; aed->lengthAllocDescs = cpu_to_le32(adsize); - if (obh) - sptr = UDF_I_DATA(inode) + nextoffset - udf_file_entry_alloc_offset(inode) + UDF_I_LENEATTR(inode) - adsize; - else - sptr = obh->b_data + nextoffset - adsize; + sptr = UDF_I_DATA(inode) + nextoffset - + udf_file_entry_alloc_offset(inode) + + UDF_I_LENEATTR(inode) - adsize; dptr = nbh->b_data + sizeof(struct allocExtDesc); memcpy(dptr, sptr, adsize); nextoffset = sizeof(struct allocExtDesc) + adsize; _