]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[ifmgmt] Avoid relying on global variable within ifcommon_exec()
authorMichael Brown <mcb30@ipxe.org>
Mon, 15 Jul 2013 15:30:39 +0000 (17:30 +0200)
committerMichael Brown <mcb30@ipxe.org>
Mon, 15 Jul 2013 15:35:48 +0000 (17:35 +0200)
commited28c8304c1653a340088137966fff56bae15ad0
treeb24455c38cbf95e3786ea1279664990df3c29bf6
parent51d14424bfce4f36c3361cfad5f06a0c7d5ef3ea
[ifmgmt] Avoid relying on global variable within ifcommon_exec()

The getopt API defines optind as a global variable.  When used by the
"autoboot" command, the payload function passed to ifcommon_exec() may
result in a new iPXE script being executed; the commands therein would
then overwrite the value of optind.  On returning, ifcommon_exec()
would continue processing the list of interfaces from an undefined
point.

Fix by using a local variable to hold the index within the list of
interfaces.

Reported-by: Robin Smidsrød <robin@smidsrod.no>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/hci/commands/ifmgmt_cmd.c