From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6224 invoked by alias); 23 Nov 2014 21:07:26 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 33785 Received: (qmail 14901 invoked from network); 23 Nov 2014 21:07:13 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id; bh=rTQDg++5fEqVKh87dh+Tayfv56GjvfLW9Vez1mema24=; b=SCutvdAFu/6GK/vfWn2ClMa7U17iEpptAYgTd9WCu4iXmdyUWOHFqQ8MeMDlyFK6n1 NQewamsc8wDAMTGjiGfBZcU9c08sxP6MDjaLhIx3vJuUYed1p1s+c561Ap3DWkumKB5Y M1hmAsVpdBvdoCGVetgIGYLSdNY+dNNDsLRMtjB3sRBiN8TlpP4Mai1CyBSb7IpO67KT DXHgBECbIgDDBsyhZT1e26BjpsPa5irPBO6znDwa5wj1RdfK55Ukc01g2jzEnpum6o1I VE38NA7f4zqLmqIF99iWUOU/f9CbL71KdKB2qtelUDg9GpX1ndgSYCumZfvj1rIX4DID NcfA== X-Received: by 10.180.11.140 with SMTP id q12mr15842436wib.45.1416776826450; Sun, 23 Nov 2014 13:07:06 -0800 (PST) From: Mikael Magnusson To: zsh-workers@zsh.org Subject: PATCH: Fix leaks of desthost in ztcp Date: Sun, 23 Nov 2014 22:07:00 +0100 Message-Id: <1416776820-31394-1-git-send-email-mikachu@gmail.com> X-Mailer: git-send-email 2.2.0-rc0 Found by coverity. Is that tcp_close right too? It's closed in another error case nearby so I'm pretty sure it is. --- Src/Modules/tcp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Src/Modules/tcp.c b/Src/Modules/tcp.c index 3f92050..0d95220 100644 --- a/Src/Modules/tcp.c +++ b/Src/Modules/tcp.c @@ -623,6 +623,7 @@ bin_ztcp(char *nam, char **args, Options ops, UNUSED(int func)) zthost = zsh_getipnodebyname(desthost, AF_INET, 0, &herrno); if (!zthost || errflag) { zwarnnam(nam, "host resolution failure: %s", desthost); + zsfree(desthost); return 1; } @@ -630,6 +631,7 @@ bin_ztcp(char *nam, char **args, Options ops, UNUSED(int func)) if (!sess) { zwarnnam(nam, "unable to allocate a TCP session slot"); + zsfree(desthost); return 1; } @@ -665,6 +667,8 @@ bin_ztcp(char *nam, char **args, Options ops, UNUSED(int func)) sess->fd = redup(sess->fd, targetfd); if (sess->fd < 0) { zerrnam(nam, "could not duplicate socket fd to %d: %e", targetfd, errno); + zsfree(desthost); + tcp_close(sess); return 1; } } -- 2.2.0-rc0