[dpdk-dev,v2] Mem: Fixes small memory leak due to missing free.

Message ID 1432080295-8972-1-git-send-email-eziegenb@brocade.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

eziegenb May 20, 2015, 12:04 a.m. UTC
  From: eziegenb <eziegenb@brocade.com>

A function in cmdline.c has a return that does not free buf properly.

Signed-off-by: Erik Ziegenbalg <eziegenb@brocade.com>
---
 lib/librte_cmdline/cmdline.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
  

Comments

Thomas Monjalon May 29, 2015, 5:42 p.m. UTC | #1
2015-05-19 17:04, Erik Ziegenbalg:
> From: eziegenb <eziegenb@brocade.com>
> 
> A function in cmdline.c has a return that does not free buf properly.
> 
> Signed-off-by: Erik Ziegenbalg <eziegenb@brocade.com>

You forgot to add a changelog and the previous acked-by:
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: John McNamara <john.mcnamara@intel.com>

> -	if (ret < 0)
> +	if (ret < 0){

checkpatch complains about a missing space.

Applied with the above fix, thanks
  

Patch

diff --git a/lib/librte_cmdline/cmdline.c b/lib/librte_cmdline/cmdline.c
index e61c4f2..747d3bb 100644
--- a/lib/librte_cmdline/cmdline.c
+++ b/lib/librte_cmdline/cmdline.c
@@ -192,8 +192,10 @@  cmdline_printf(const struct cmdline *cl, const char *fmt, ...)
 	va_start(ap, fmt);
 	ret = vsnprintf(buf, BUFSIZ, fmt, ap);
 	va_end(ap);
-	if (ret < 0)
+	if (ret < 0){
+		free(buf);
 		return;
+	}
 	if (ret >= BUFSIZ)
 		ret = BUFSIZ - 1;
 	write(cl->s_out, buf, ret);