Bug 1317946: allow sending of zero length buffers. r?schien draft
authorNils Ohlmeier [:drno] <drno@ohlmeier.org>
Fri, 13 Jan 2017 23:54:51 -0800
changeset 482234 13b9cc037466d07cd9f005352bab4e63cc2d1d60
parent 482233 216be9971109a4f98957280219d6aa51ef9d63be
child 482235 1ad19483e60f4ec7b221172b4a72e3232c7fb3bb
push id45041
push userdrno@ohlmeier.org
push dateSat, 11 Feb 2017 20:10:45 +0000
reviewersschien
bugs1317946
milestone54.0a1
Bug 1317946: allow sending of zero length buffers. r?schien MozReview-Commit-ID: 4vNPewYScEF
netwerk/base/nsUDPSocket.cpp
--- a/netwerk/base/nsUDPSocket.cpp
+++ b/netwerk/base/nsUDPSocket.cpp
@@ -1183,18 +1183,21 @@ nsUDPSocket::AsyncListen(nsIUDPSocketLis
   return PostEvent(this, &nsUDPSocket::OnMsgAttach);
 }
 
 NS_IMETHODIMP
 nsUDPSocket::Send(const nsACString &aHost, uint16_t aPort,
                   const uint8_t *aData, uint32_t aDataLength,
                   uint32_t *_retval)
 {
-  NS_ENSURE_ARG(aData);
   NS_ENSURE_ARG_POINTER(_retval);
+  if (!((aData && aDataLength > 0) ||
+        (!aData && !aDataLength))) {
+    return NS_ERROR_INVALID_ARG;
+  }
 
   *_retval = 0;
 
   FallibleTArray<uint8_t> fallibleArray;
   if (!fallibleArray.InsertElementsAt(0, aData, aDataLength, fallible)) {
     return NS_ERROR_OUT_OF_MEMORY;
   }