diff --git a/libc/netbsd/net/getaddrinfo.c b/libc/netbsd/net/getaddrinfo.c
index 7dd65ff..326b09c 100644
--- a/libc/netbsd/net/getaddrinfo.c
+++ b/libc/netbsd/net/getaddrinfo.c
@@ -479,7 +479,7 @@
 		goto exit;
 	}
 
-	char buf[5];
+	char buf[4];
 	// read result code for gethostbyaddr
 	if (fread(buf, 1, sizeof(buf), proxy) != sizeof(buf)) {
 		goto exit;
diff --git a/libc/netbsd/net/getnameinfo.c b/libc/netbsd/net/getnameinfo.c
index eed23a7..8a1e95e 100644
--- a/libc/netbsd/net/getnameinfo.c
+++ b/libc/netbsd/net/getnameinfo.c
@@ -201,7 +201,7 @@
 	}
 
 	result = 0;
-	char msg_buf[5];
+	char msg_buf[4];
 	// read result code for gethostbyaddr
 	if (fread(msg_buf, 1, sizeof(msg_buf), proxy) != sizeof(msg_buf)) {
 		goto exit;
diff --git a/linker/debugger.c b/linker/debugger.c
index 40411b1..899a5b2 100644
--- a/linker/debugger.c
+++ b/linker/debugger.c
@@ -40,6 +40,8 @@
 #include <sys/socket.h>
 #include <sys/un.h>
 
+extern int tgkill(int tgid, int tid, int sig);
+
 void notify_gdb_of_libraries();
 
 #define  RETRY_ON_EINTR(ret,cond) \
@@ -181,6 +183,24 @@
 
     /* remove our net so we fault for real when we return */
     signal(n, SIG_DFL);
+
+    /*
+     * These signals are not re-thrown when we resume.  This means that
+     * crashing due to (say) SIGPIPE doesn't work the way you'd expect it
+     * to.  We work around this by throwing them manually.  We don't want
+     * to do this for *all* signals because it'll screw up the address for
+     * faults like SIGSEGV.
+     */
+    switch (n) {
+        case SIGABRT:
+        case SIGFPE:
+        case SIGPIPE:
+        case SIGSTKFLT:
+            (void) tgkill(getpid(), gettid(), n);
+            break;
+        default:    // SIGILL, SIGBUS, SIGSEGV
+            break;
+    }
 }
 
 void debugger_init()
