staging: tidspbridge: fix uninitialized variable sym_name
authorOmar Ramirez Luna <omar.ramirez@copitl.com>
Thu, 10 Jan 2013 09:37:00 +0000 (03:37 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Jan 2013 00:47:13 +0000 (16:47 -0800)
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.chen@asianux.com>
Signed-off-by: Omar Ramirez Luna <omar.ramirez@copitl.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/tidspbridge/rmgr/nldr.c
drivers/staging/tidspbridge/rmgr/node.c

index 6309221b64a5d9c1d053619866adee0ada0f3673..ca3805046a73c8b08a44d76fe0fd89eed07c7fe2 100644 (file)
@@ -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;
index 737f4a9d86a33fb7fcb865c11f43453d15bd7ecd..87dfa92ab45b91665fdd27c9c9d838e1f48b48da 100644 (file)
@@ -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;