=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/mux.c,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- src/usr.bin/ssh/mux.c 2013/06/02 23:36:29 1.42 +++ src/usr.bin/ssh/mux.c 2013/06/05 02:07:29 1.43 @@ -1,4 +1,4 @@ -/* $OpenBSD: mux.c,v 1.42 2013/06/02 23:36:29 dtucker Exp $ */ +/* $OpenBSD: mux.c,v 1.43 2013/06/05 02:07:29 dtucker Exp $ */ /* * Copyright (c) 2002-2008 Damien Miller * @@ -275,6 +275,7 @@ if (name == NULL || value == NULL) { free(name); + free(value); goto malf; } debug2("Unrecognised slave extension \"%s\"", name); @@ -1407,7 +1408,9 @@ buffer_init(&queue); if (mux_client_read(fd, &queue, 4) != 0) { if ((oerrno = errno) == EPIPE) - debug3("%s: read header failed: %s", __func__, strerror(errno)); + debug3("%s: read header failed: %s", __func__, + strerror(errno)); + buffer_free(&queue); errno = oerrno; return -1; } @@ -1415,6 +1418,7 @@ if (mux_client_read(fd, &queue, need) != 0) { oerrno = errno; debug3("%s: read body failed: %s", __func__, strerror(errno)); + buffer_free(&queue); errno = oerrno; return -1; }