]> www.infradead.org Git - users/dwmw2/openconnect.git/commitdiff
fix undefined pointer error from !143
authorDaniel Lenski <dlenski@gmail.com>
Mon, 30 Nov 2020 20:35:17 +0000 (12:35 -0800)
committerDaniel Lenski <dlenski@gmail.com>
Mon, 30 Nov 2020 20:37:16 +0000 (12:37 -0800)
Caught by static analyzer run.

Signed-off-by: Daniel Lenski <dlenski@gmail.com>
auth-globalprotect.c

index 498008fb9a92ced2f707674b06db3a0184124dd5..06913267c8f2c66d236c3bc84676814ccf806529 100644 (file)
@@ -328,6 +328,9 @@ static int parse_login_xml(struct openconnect_info *vpninfo, xmlNode *xml_node,
                while (xml_node && xml_node->type != XML_ELEMENT_NODE)
                        xml_node = xml_node->next;
 
+               /* XX: argument 0 is unknown so we reuse this for extra arguments */
+               arg = &gp_login_args[(argn < gp_login_nargs) ? argn : 0];
+
                if (!xml_node)
                        value = NULL;
                else if (!xmlnode_get_val(xml_node, "argument", &value)) {
@@ -348,9 +351,6 @@ static int parse_login_xml(struct openconnect_info *vpninfo, xmlNode *xml_node,
                } else
                        goto err_out;
 
-               /* XX: argument 0 is unknown so we reuse this for extra arguments */
-               arg = &gp_login_args[(argn < gp_login_nargs) ? argn : 0];
-
                if (arg->unknown && value) {
                        unknown_args++;
                        vpn_progress(vpninfo, PRG_ERR,