From 04f98580d457cb78ce7856b7626f1b0ec078281d Mon Sep 17 00:00:00 2001
From: "Frank Ch. Eigler" <fche@elastic.org>
Date: Fri, 23 Sep 2005 21:58:39 +0000
Subject: [PATCH] re PR libmudflap/23084 (mudflap crash upon accept() with
 argement 2 and 3 as NULL)

2005-09-23  Frank Ch. Eigler  <fche@elastic.org>

	PR 23084.
	* mf-hooks2.c (accept): Tolerate NULL sockaddr* parameter.

From-SVN: r104588
---
 libmudflap/ChangeLog   | 5 +++++
 libmudflap/mf-hooks2.c | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog
index 8e398744cd70..12735cb90f46 100644
--- a/libmudflap/ChangeLog
+++ b/libmudflap/ChangeLog
@@ -1,3 +1,8 @@
+2005-09-23  Frank Ch. Eigler  <fche@elastic.org>
+
+	PR 23084.
+	* mf-hooks2.c (accept): Tolerate NULL sockaddr* parameter.
+
 2005-09-23  Frank Ch. Eigler  <fche@elastic.org>
 
 	* testsuite/libmudflap.c++/pass58-frag.cxx: New test for heisenbug 19319.
diff --git a/libmudflap/mf-hooks2.c b/libmudflap/mf-hooks2.c
index 0ffcf09ac1f1..1da2261ae8c2 100644
--- a/libmudflap/mf-hooks2.c
+++ b/libmudflap/mf-hooks2.c
@@ -1400,7 +1400,8 @@ WRAPPER2(int, getsockopt, int s, int level, int optname, void *optval,
 WRAPPER2(int, accept, int s, struct  sockaddr *addr, socklen_t *addrlen)
 {
   TRACE ("%s\n", __PRETTY_FUNCTION__);
-  MF_VALIDATE_EXTENT (addr, (size_t)*addrlen, __MF_CHECK_WRITE, "accept addr");
+  if (addr != NULL)
+    MF_VALIDATE_EXTENT (addr, (size_t)*addrlen, __MF_CHECK_WRITE, "accept addr");
   return accept (s, addr, addrlen);
 }
 
-- 
GitLab