From 7bea07645899fbb6fd27e1e9b5fca426835e4fe2 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Tue, 11 Feb 2014 19:33:43 +0200 Subject: [PATCH] P2P NFC: Clean up p2p-nfc.py error handling If wpa_supplicant reports a failure when trying to generate a handover request, detect that before trying to decode the response as a hex string. Signed-hostap: Jouni Malinen --- wpa_supplicant/examples/p2p-nfc.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/wpa_supplicant/examples/p2p-nfc.py b/wpa_supplicant/examples/p2p-nfc.py index 848f79ff5..03d1a2711 100755 --- a/wpa_supplicant/examples/p2p-nfc.py +++ b/wpa_supplicant/examples/p2p-nfc.py @@ -77,16 +77,19 @@ def wpas_get_handover_req(): wpas = wpas_connect() if (wpas == None): return None - res = wpas.request("NFC_GET_HANDOVER_REQ NDEF P2P-CR").rstrip().decode("hex") + res = wpas.request("NFC_GET_HANDOVER_REQ NDEF P2P-CR").rstrip() if "FAIL" in res: return None - return res + return res.decode("hex") def wpas_get_handover_req_wps(): wpas = wpas_connect() if (wpas == None): return None - return wpas.request("NFC_GET_HANDOVER_REQ NDEF WPS-CR").rstrip().decode("hex") + res = wpas.request("NFC_GET_HANDOVER_REQ NDEF WPS-CR").rstrip() + if "FAIL" in res: + return None + return res.decode("hex") def wpas_get_handover_sel(tag=False): @@ -94,8 +97,12 @@ def wpas_get_handover_sel(tag=False): if (wpas == None): return None if tag: - return wpas.request("NFC_GET_HANDOVER_SEL NDEF P2P-CR-TAG").rstrip().decode("hex") - return wpas.request("NFC_GET_HANDOVER_SEL NDEF P2P-CR").rstrip().decode("hex") + res = wpas.request("NFC_GET_HANDOVER_SEL NDEF P2P-CR-TAG").rstrip() + else: + res = wpas.request("NFC_GET_HANDOVER_SEL NDEF P2P-CR").rstrip() + if "FAIL" in res: + return None + return res.decode("hex") def wpas_get_handover_sel_wps():