summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgsoares@openbsd.org <gsoares@openbsd.org>2015-10-21 11:33:03 +0000
committerDamien Miller <djm@mindrot.org>2015-10-25 11:42:04 +1100
commit66d2e229baa9fe57b868c373b05f7ff3bb20055b (patch)
treeef1f2b97ed377e77f00a370d1d4e92fa5b97ab80
parent7d6c0362039ceacdc1366b5df29ad5d2693c13e5 (diff)
upstream commit
fix memory leak in error path ok djm@ Upstream-ID: dd2f402b0a0029b755df029fc7f0679e1365ce35
-rw-r--r--packet.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/packet.c b/packet.c
index 9cf09e201..a0dbc2391 100644
--- a/packet.c
+++ b/packet.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: packet.c,v 1.215 2015/09/21 04:31:00 djm Exp $ */ 1/* $OpenBSD: packet.c,v 1.216 2015/10/21 11:33:03 gsoares Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -2040,8 +2040,10 @@ ssh_packet_write_wait(struct ssh *ssh)
2040 NFDBITS), sizeof(fd_mask)); 2040 NFDBITS), sizeof(fd_mask));
2041 if (setp == NULL) 2041 if (setp == NULL)
2042 return SSH_ERR_ALLOC_FAIL; 2042 return SSH_ERR_ALLOC_FAIL;
2043 if ((r = ssh_packet_write_poll(ssh)) != 0) 2043 if ((r = ssh_packet_write_poll(ssh)) != 0) {
2044 free(setp);
2044 return r; 2045 return r;
2046 }
2045 while (ssh_packet_have_data_to_write(ssh)) { 2047 while (ssh_packet_have_data_to_write(ssh)) {
2046 memset(setp, 0, howmany(state->connection_out + 1, 2048 memset(setp, 0, howmany(state->connection_out + 1,
2047 NFDBITS) * sizeof(fd_mask)); 2049 NFDBITS) * sizeof(fd_mask));