Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c908f97d0f9aee32fa6d4b0a44c4c5d0ccab2b0
Commit:     9c908f97d0f9aee32fa6d4b0a44c4c5d0ccab2b0
Parent:     ff0ce6845bc18292e80ea40d11c3d3a539a3fc5e
Author:     David S. Miller <[EMAIL PROTECTED]>
AuthorDate: Thu Sep 27 13:09:28 2007 -0700
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Thu Sep 27 13:09:28 2007 -0700

    [SPARC]: Fix EBUS use of uninitialized variable.
    
    If of_get_property() fails, it returns NULL and the 'len'
    parameter is undefined.  So we need to explicitly set len
    to zero in such cases.
    
    Noticed by Al Viro.
    
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 arch/sparc/kernel/ebus.c   |    2 ++
 arch/sparc64/kernel/ebus.c |    5 ++++-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/arch/sparc/kernel/ebus.c b/arch/sparc/kernel/ebus.c
index e2d02fd..d850785 100644
--- a/arch/sparc/kernel/ebus.c
+++ b/arch/sparc/kernel/ebus.c
@@ -156,6 +156,8 @@ void __init fill_ebus_device(struct device_node *dp, struct 
linux_ebus_device *d
        dev->prom_node = dp;
 
        regs = of_get_property(dp, "reg", &len);
+       if (!regs)
+               len = 0;
        if (len % sizeof(struct linux_prom_registers)) {
                prom_printf("UGH: proplen for %s was %d, need multiple of %d\n",
                            dev->prom_node->name, len,
diff --git a/arch/sparc64/kernel/ebus.c b/arch/sparc64/kernel/ebus.c
index bc9ae36..04ab81c 100644
--- a/arch/sparc64/kernel/ebus.c
+++ b/arch/sparc64/kernel/ebus.c
@@ -375,7 +375,10 @@ static void __init fill_ebus_device(struct device_node 
*dp, struct linux_ebus_de
                dev->num_addrs = 0;
                dev->num_irqs = 0;
        } else {
-               (void) of_get_property(dp, "reg", &len);
+               const int *regs = of_get_property(dp, "reg", &len);
+
+               if (!regs)
+                       len = 0;
                dev->num_addrs = len / sizeof(struct linux_prom_registers);
 
                for (i = 0; i < dev->num_addrs; i++)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to