On both counts, sym_name could be printed uninitialized, this
is solved by moving the pr_* statement to be triggered if the
value is assigned.

Reported-by: Chen Gang <gang.c...@asianux.com>
Signed-off-by: Omar Ramirez Luna <omar.rami...@copitl.com>
---
 drivers/staging/tidspbridge/rmgr/nldr.c |    6 ++++--
 drivers/staging/tidspbridge/rmgr/node.c |   12 ++++++------
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/tidspbridge/rmgr/nldr.c 
b/drivers/staging/tidspbridge/rmgr/nldr.c
index 6309221..ca38050 100644
--- a/drivers/staging/tidspbridge/rmgr/nldr.c
+++ b/drivers/staging/tidspbridge/rmgr/nldr.c
@@ -1802,8 +1802,6 @@ int nldr_find_addr(struct nldr_nodeobject *nldr_node, u32 
sym_addr,
        bool status1 = false;
        s32 i = 0;
        struct lib_node root = { NULL, 0, NULL };
-       pr_debug("%s(0x%x, 0x%x, 0x%x, 0x%x,  %s)\n", __func__, (u32) nldr_node,
-                       sym_addr, offset_range, (u32) offset_output, sym_name);
 
        if (nldr_node->dynamic && *nldr_node->phase_split) {
                switch (nldr_node->phase) {
@@ -1852,6 +1850,10 @@ int nldr_find_addr(struct nldr_nodeobject *nldr_node, 
u32 sym_addr,
                pr_debug("%s: Address 0x%x not found in range %d.\n",
                                        __func__, sym_addr, offset_range);
                status = -ESPIPE;
+       } else {
+               pr_debug("%s(0x%x, 0x%x, 0x%x, 0x%x,  %s)\n",
+                        __func__, (u32) nldr_node, sym_addr, offset_range,
+                        (u32) offset_output, sym_name);
        }
 
        return status;
diff --git a/drivers/staging/tidspbridge/rmgr/node.c 
b/drivers/staging/tidspbridge/rmgr/node.c
index 737f4a9..87dfa92 100644
--- a/drivers/staging/tidspbridge/rmgr/node.c
+++ b/drivers/staging/tidspbridge/rmgr/node.c
@@ -3012,16 +3012,16 @@ int node_find_addr(struct node_mgr *node_mgr, u32 
sym_addr,
        struct node_object *node_obj;
        int status = -ENOENT;
 
-       pr_debug("%s(0x%x, 0x%x, 0x%x, 0x%x,  %s)\n", __func__,
-                       (unsigned int) node_mgr,
-                       sym_addr, offset_range,
-                       (unsigned int) sym_addr_output, sym_name);
-
        list_for_each_entry(node_obj, &node_mgr->node_list, list_elem) {
                status = nldr_find_addr(node_obj->nldr_node_obj, sym_addr,
                        offset_range, sym_addr_output, sym_name);
-               if (!status)
+               if (!status) {
+                       pr_debug("%s(0x%x, 0x%x, 0x%x, 0x%x, %s)\n", __func__,
+                                (unsigned int) node_mgr,
+                                sym_addr, offset_range,
+                                (unsigned int) sym_addr_output, sym_name);
                        break;
+               }
        }
 
        return status;
-- 
1.7.4.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to