[Click] [PATCH] Don't ignore return values in wifi elements

roberto.riggio at create-net.org roberto.riggio at create-net.org
Sat Mar 7 15:59:44 EST 2009


Don't ignore return values in wifi elements.

--

diff --git a/elements/wifi/wepencap.cc b/elements/wifi/wepencap.cc
index c34c728..461c229 100644
--- a/elements/wifi/wepencap.cc
+++ b/elements/wifi/wepencap.cc
@@ -102,7 +102,8 @@ WepEncap::simple_action(Packet *p_in)
   }
   w->i_fc[1] |= WIFI_FC1_WEP;
 
-  p->push(WIFI_WEP_HEADERSIZE);
+  if (!(p = p->push(WIFI_WEP_HEADERSIZE)))
+    return 0;
   memmove((void *) p->data(), p->data() + WIFI_WEP_HEADERSIZE, sizeof(click_wifi));
   u_int8_t *ivp = p->data() + sizeof(click_wifi);
   u_int32_t iv = click_random()  & 0xffffff;
diff --git a/elements/wifi/wifidefrag.cc b/elements/wifi/wifidefrag.cc
index eca17e1..635d1c6 100644
--- a/elements/wifi/wifidefrag.cc
+++ b/elements/wifi/wifidefrag.cc
@@ -120,7 +120,8 @@ WifiDefrag::simple_action(Packet *p)
     uint32_t len = nfo->p->length();
 
     p->pull(sizeof(click_wifi));
-    nfo->p->put(p->length());
+    if (!(nfo->p = nfo->p->put(p->length())))
+      return 0;
     memcpy((void *) (nfo->p->data() + len), p->data(), p->length());
     p->kill();
   }


More information about the click mailing list