From 4ed8efea38afb72dfb0028a4470698563a4176e0 Mon Sep 17 00:00:00 2001
From: David du Colombier <0intro@gmail.com>
Date: Sun, 29 Jul 2012 18:53:37 -0400
Subject: libventi: fix segfault in vtgetreq
Don't call vtlog() when _vtqrecv() returns
nil on queue hangup, as reported on
http://bitbucket.org/rsc/plan9port/issue/102/
R=rsc
http://codereview.appspot.com/6373046
---
src/libventi/server.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/libventi/server.c b/src/libventi/server.c
index d82be698..91752200 100644
--- a/src/libventi/server.c
+++ b/src/libventi/server.c
@@ -182,7 +182,8 @@ vtgetreq(VtSrv *srv)
VtReq *r;
r = _vtqrecv(srv->q);
- vtlog(VtServerLog, "%T %s: vtgetreq %F
\n", ((VtSconn*)r->sc)->c->addr, &r->tx);
+ if (r != nil)
+ vtlog(VtServerLog, "%T %s: vtgetreq %F
\n", ((VtSconn*)r->sc)->c->addr, &r->tx);
return r;
}
--
cgit v1.2.3