From 9b4396f8d1059c3ac650f915befeefaf801be361 Mon Sep 17 00:00:00 2001 From: deraadt Date: Sun, 21 Jun 2015 00:15:12 +0000 Subject: [PATCH] memory leak on failure; from Maxime Villard --- sys/dev/ipmi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/dev/ipmi.c b/sys/dev/ipmi.c index 012d081c2de..6ae8cbfc544 100644 --- a/sys/dev/ipmi.c +++ b/sys/dev/ipmi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ipmi.c,v 1.75 2015/01/07 07:49:18 yasuoka Exp $ */ +/* $OpenBSD: ipmi.c,v 1.76 2015/06/21 00:15:12 deraadt Exp $ */ /* * Copyright (c) 2005 Jordan Hargrave @@ -1050,8 +1050,10 @@ ipmi_recvcmd(struct ipmi_softc *sc, int maxlen, int *rxlen, void *data) } /* Receive message from interface, copy out result data */ if (sc->sc_if->recvmsg(sc, maxlen + 3, &rawlen, buf) || - rawlen < IPMI_MSG_DATARCV) + rawlen < IPMI_MSG_DATARCV) { + free(buf, M_DEVBUF, 0); return (-1); + } *rxlen = rawlen - IPMI_MSG_DATARCV; if (*rxlen > 0 && data) -- 2.20.1