From reading the code, my understanding of the crash is not that iter is NULL here. parse_supplicant_error() should never been called in this case. The call stack is:

supplicant_dbus_call_callback() -> interface_select_network_result() -> parse_supplicant_error()

supplicant_dbus_call_callback() is calling interface_select_network_result() with the error "net.connman.Error.OperationAborted", i.e not a supplicant error which parse_supplicant_error() doesn't sound like it can handle.

Perhaps in the case of a net.connman.Error interface_select_network_result() should just be setting the appropriate err value and continuing through the function so that the error is propagated.