Move the xbc_node_num increment to after xbc_init_node() so a failed
init does not leave a partially initialized node counted in the array.

Signed-off-by: Josh Law <[email protected]>
---
 lib/bootconfig.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/bootconfig.c b/lib/bootconfig.c
index 56fbedc9e725..06e8a79ab472 100644
--- a/lib/bootconfig.c
+++ b/lib/bootconfig.c
@@ -429,9 +429,10 @@ static struct xbc_node * __init xbc_add_node(char *data, 
uint16_t flag)
        if (xbc_node_num == XBC_NODE_MAX)
                return NULL;
 
-       node = &xbc_nodes[xbc_node_num++];
+       node = &xbc_nodes[xbc_node_num];
        if (xbc_init_node(node, data, flag) < 0)
                return NULL;
+       xbc_node_num++;
 
        return node;
 }
-- 
2.34.1


Reply via email to