From f7adfae856bb83107024559bf3b167bc4b9a42df Mon Sep 17 00:00:00 2001 From: Sadrul Habib Chowdhury Date: Sat, 20 Mar 2010 20:52:50 -0400 Subject: Fix a regression in parsing -X commands. Details discussed in #25813. --- src/socket.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/socket.c b/src/socket.c index 9dbf461..619aebb 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1645,9 +1645,17 @@ struct msg *mp; for (fc = fullcmd; n > 0; n--) { int len = strlen(p); + /* Make sure there's enough room */ + if (fc + len + 3 > fullcmd + sizeof(fullcmd) - 1) + { + queryflag = -1; + return; + } + *fc++ = '"'; strncpy(fc, p, fullcmd + sizeof(fullcmd) - fc - 1); p += len + 1; fc += len; + *fc++ = '"'; *fc++ = ' '; } if (fc != fullcmd) -- cgit v1.2.1