Fix freeaddrinfo(NULL).

Bug: https://code.google.com/p/android/issues/detail?id=13228
Change-Id: I5e3b126d90d750a93ac0b8872198e50ba047e603
diff --git a/libc/dns/net/getaddrinfo.c b/libc/dns/net/getaddrinfo.c
index f0d522a..c73c085 100644
--- a/libc/dns/net/getaddrinfo.c
+++ b/libc/dns/net/getaddrinfo.c
@@ -324,7 +324,11 @@
 {
 	struct addrinfo *next;
 
-	assert(ai != NULL);
+#if __ANDROID__
+	if (ai == NULL) return;
+#else
+	_DIAGASSERT(ai != NULL);
+#endif
 
 	do {
 		next = ai->ai_next;
diff --git a/tests/netdb_test.cpp b/tests/netdb_test.cpp
index ab5b487..5660bbd 100644
--- a/tests/netdb_test.cpp
+++ b/tests/netdb_test.cpp
@@ -23,6 +23,11 @@
 #include <sys/socket.h>
 #include <netinet/in.h>
 
+// https://code.google.com/p/android/issues/detail?id=13228
+TEST(netdb, freeaddrinfo_NULL) {
+  freeaddrinfo(NULL);
+}
+
 TEST(netdb, getaddrinfo_NULL_host) {
   // It's okay for the host argument to be NULL, as long as service isn't.
   addrinfo* ai = NULL;