From 8d8028e1578c9af5fb59ca2790220760c848b641 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 26 Apr 1999 23:02:06 +0000 Subject: [PATCH] Fixed memory leak in do_get (oh, the shame :-). Jeremy. --- source/client/client.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/client/client.c b/source/client/client.c index 3a14ab7b7e2..4a340dcf32f 100644 --- a/source/client/client.c +++ b/source/client/client.c @@ -517,7 +517,11 @@ static void do_get(char *rname,char *lname) DEBUG(2,("getting file %s of size %.0f as %s ", lname, (double)size, lname)); - data = (char *)malloc(read_size); + if(!(data = (char *)malloc(read_size))) { + DEBUG(0,("malloc fail for size %d\n", read_size)); + cli_close(cli, fnum); + return; + } while (1) { int n = cli_read(cli, fnum, data, nread, read_size); @@ -531,6 +535,8 @@ static void do_get(char *rname,char *lname) nread += n; } + + free(data); if (!cli_close(cli, fnum)) { DEBUG(0,("Error %s closing remote file\n",cli_errstr(cli))); -- 2.11.4.GIT