Report sendto() failures for hostapd ctrl_iface
authorJouni Malinen <j@w1.fi>
Sat, 11 Oct 2014 16:29:22 +0000 (19:29 +0300)
committerJouni Malinen <j@w1.fi>
Sat, 11 Oct 2014 16:43:26 +0000 (19:43 +0300)
This makes issues with control interface operations more easily
debuggable (CID 72681, CID 72686).

Signed-off-by: Jouni Malinen <j@w1.fi>
hostapd/ctrl_iface.c

index ec456c8..e87de9f 100644 (file)
@@ -1416,8 +1416,11 @@ static void hostapd_ctrl_iface_receive(int sock, void *eloop_ctx,
 
        reply = os_malloc(reply_size);
        if (reply == NULL) {
-               sendto(sock, "FAIL\n", 5, 0, (struct sockaddr *) &from,
-                      fromlen);
+               if (sendto(sock, "FAIL\n", 5, 0, (struct sockaddr *) &from,
+                          fromlen) < 0) {
+                       wpa_printf(MSG_DEBUG, "CTRL: sendto failed: %s",
+                                  strerror(errno));
+               }
                return;
        }
 
@@ -1611,7 +1614,11 @@ static void hostapd_ctrl_iface_receive(int sock, void *eloop_ctx,
                os_memcpy(reply, "FAIL\n", 5);
                reply_len = 5;
        }
-       sendto(sock, reply, reply_len, 0, (struct sockaddr *) &from, fromlen);
+       if (sendto(sock, reply, reply_len, 0, (struct sockaddr *) &from,
+                  fromlen) < 0) {
+               wpa_printf(MSG_DEBUG, "CTRL: sendto failed: %s",
+                          strerror(errno));
+       }
        os_free(reply);
 }
 
@@ -1914,7 +1921,11 @@ static void hostapd_global_ctrl_iface_receive(int sock, void *eloop_ctx,
                reply_len = 5;
        }
 
-       sendto(sock, reply, reply_len, 0, (struct sockaddr *) &from, fromlen);
+       if (sendto(sock, reply, reply_len, 0, (struct sockaddr *) &from,
+                  fromlen) < 0) {
+               wpa_printf(MSG_DEBUG, "CTRL: sendto failed: %s",
+                          strerror(errno));
+       }
 }