[PATCH 2.6.15-rc7] udf/balloc.c : Fix use of uninitialized data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2.6.15-rc7 - GCC warns correctly -
 fs/udf/balloc.c: In function 'udf_table_new_block':
 fs/udf/balloc.c:757: warning: 'goal_eloc.logicalBlockNum' may be used
uninitialized in this function

Variable goal_eloc is automatic, non-static and initialized conditionally -

 if (nspread < spread)
 {
     ...........
     goal_eloc = eloc;
     ...........
 }

 The following patch fixes this by initializing the goal_eloc variable to zero.
Hopefully zero should be better than some random data! (Patch also
attached in case of problem with below inline version.) Compile
tested.

--- linux-2.6/fs/udf/balloc.c.orig      2005-12-28 11:53:12.000000000 -0500
+++ linux-2.6/fs/udf/balloc.c   2005-12-28 11:53:19.000000000 -0500
@@ -754,7 +754,8 @@ static int udf_table_new_block(struct su
        uint32_t spread = 0xFFFFFFFF, nspread = 0xFFFFFFFF;
        uint32_t newblock = 0, adsize;
        uint32_t extoffset, goal_extoffset, elen, goal_elen = 0;
-       kernel_lb_addr bloc, goal_bloc, eloc, goal_eloc;
+       kernel_lb_addr bloc, goal_bloc, eloc,
+       goal_eloc = { .logicalBlockNum=0, .partitionReferenceNum=0 } ;
        struct buffer_head *bh, *goal_bh;
        int8_t etype;

Attachment: patch
Description: Binary data


[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux