WPS: Aggregate deinit calls in WPS OOB

In WPS OOB, deinit_func() is called from 3 locations.
This patch aggregates these to one.
This commit is contained in:
Masashi Honma 2009-08-26 23:34:54 +03:00 committed by Jouni Malinen
parent 3a57305f10
commit fe23eb5696

View file

@ -496,25 +496,23 @@ int wps_process_oob(struct wps_context *wps, struct oob_device_data *oob_dev,
ret = -1; ret = -1;
} else { } else {
data = oob_dev->read_func(oob_priv); data = oob_dev->read_func(oob_priv);
if (data == NULL) { if (data == NULL)
oob_dev->deinit_func(oob_priv); ret = -1;
return -1; else {
}
if (oob_method == OOB_METHOD_CRED) if (oob_method == OOB_METHOD_CRED)
ret = wps_parse_oob_cred(wps, data); ret = wps_parse_oob_cred(wps, data);
else else
ret = wps_parse_oob_dev_pwd(wps, data); ret = wps_parse_oob_dev_pwd(wps, data);
} }
}
wpabuf_free(data); wpabuf_free(data);
oob_dev->deinit_func(oob_priv);
if (ret < 0) { if (ret < 0) {
wpa_printf(MSG_ERROR, "WPS: Failed to process OOB data"); wpa_printf(MSG_ERROR, "WPS: Failed to process OOB data");
oob_dev->deinit_func(oob_priv);
return -1; return -1;
} }
oob_dev->deinit_func(oob_priv);
return 0; return 0;
} }