]> granicus.if.org Git - pgbouncer/commitdiff
admin.c: dont crash if socket has no buffer
authorMarko Kreen <markokr@gmail.com>
Fri, 1 Aug 2008 12:51:54 +0000 (12:51 +0000)
committerMarko Kreen <markokr@gmail.com>
Fri, 1 Aug 2008 12:51:54 +0000 (12:51 +0000)
NEWS
src/admin.c

diff --git a/NEWS b/NEWS
index 276f9152378f5ff6985de259779bb30cb626dbe7..239ed60d9061709cdbf0b9db8d39904a6edfcecc 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,10 @@
     * drop_on_error config param - if server throws error the connection
       will not be reused but dropped.  Defaults to 1.
 
+  = Fixes =
+
+    * SHOW SOCKETS/CLIENTS/SERVERS: Don't crash if socket has no buffer.
+
 2008-07-29  -  PgBouncer 1.2  -  "Ordinary Magic Flute"
 
   PgBouncer 1.2 now requires libevent version 1.3b or newer.
index 5cb3f97bfdd656728169721d217958e33b01132f..5448cd63a20a48e6f8381cf221be2658af23c85c 100644 (file)
@@ -505,8 +505,8 @@ static void adr2txt(const PgAddr *adr, char *dst, unsigned dstlen)
 
 static void socket_row(PktBuf *buf, PgSocket *sk, const char *state, bool debug)
 {
-       int pkt_avail = iobuf_amount_parse(sk->sbuf.io);
-       int send_avail = iobuf_amount_pending(sk->sbuf.io);
+       int pkt_avail = sk->sbuf.io ? iobuf_amount_parse(sk->sbuf.io) : 0;
+       int send_avail = sk->sbuf.io ? iobuf_amount_pending(sk->sbuf.io) : 0;
        char ptrbuf[128], linkbuf[128];
        char l_addr[32], r_addr[32];
        IOBuf *io = sk->sbuf.io;