public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Alexey Kodanev <alexey.kodanev@oracle.com>
To: manjeet.p@samsung.com,
	"ltp-list@lists.sourceforge.net" <ltp-list@lists.sourceforge.net>
Cc: "ajeet.y@samsung.com" <ajeet.y@samsung.com>,
	AKHILESH KUMAR <akhilesh.k@samsung.com>
Subject: Re: [LTP] [PATCH]: Fix memory leak by freeing buf
Date: Fri, 19 Jun 2015 15:09:44 +0300	[thread overview]
Message-ID: <55840688.1010202@oracle.com> (raw)
In-Reply-To: <144413988.54651434713150877.JavaMail.weblogic@ep2mlwas06b>

Hi!
On 06/19/2015 02:25 PM, Manjeet Pawar wrote:
> From: Manjeet Pawar <manjeet.p@samsung.com>
> Date: Fri, 19 Jun 2015 16:45:54 +0530
> Subject: [PATCH] testcases/open_posix_testsuite/functional/semaphores: Fix memory leak by freeing buf
>
> This patch fix memory leak by freeing memory leak before function return
>
> Signed-off-by: Manjeet Pawar <manjeet.p@samsung.com>
> Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
> ---
>   .../functional/semaphores/sem_conpro.c             |    5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c b/testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c
> index f5f1abf..f3a4cfb 100644
> --- a/testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c
> +++ b/testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c
> @@ -106,19 +106,23 @@ int main(int argc, char *argv[])
>   
>   #ifndef  _POSIX_SEMAPHORES
>   	printf("_POSIX_SEMAPHORES is not defined \n");
> +	free(buf);
>   	return PTS_UNRESOLVED;
>   #endif
>   	if (-1 == sem_init(&(buf->occupied), shared, occupied_value)) {
>   		perror("sem_init didn't return success \n");
>   		printf("hello \n");
> +		free(buf);
>   		return PTS_UNRESOLVED;
>   	}
>   	if (-1 == sem_init(&buf->empty, shared, empty_value)) {
>   		perror("sem_init didn't return success \n");
> +		free(buf);
>   		return PTS_UNRESOLVED;
>   	}
>   	if (-1 == sem_init(&buf->lock, shared, lock_value)) {
>   		perror("sem_init didn't return success \n");
> +		free(buf);
>   		return PTS_UNRESOLVED;
>   	}
>   	in = out = 0;
> @@ -129,5 +133,6 @@ int main(int argc, char *argv[])
>   	pthread_join(pro, NULL);
>   	sem_destroy(&buf->occupied);
>   	sem_destroy(&buf->empty);
> +	free(buf);
>   	return PTS_PASS;
>   }

The program terminating after free() so it will be freed in any case, I 
don't see memory leak here.

I think the better change would be to check the return value from 
malloc() (e.g. using SAFE_MALLOC) or allocate 'buf' on the stack.

Thanks,
Alexey


------------------------------------------------------------------------------
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

  reply	other threads:[~2015-06-19 12:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-19 11:25 [LTP] [PATCH]: Fix memory leak by freeing buf Manjeet Pawar
2015-06-19 12:09 ` Alexey Kodanev [this message]
2015-06-19 12:20   ` Alexey Kodanev
  -- strict thread matches above, loose matches on Subject: below --
2015-05-28  4:44 Manjeet Pawar
2015-06-01 14:49 ` Cyril Hrubis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55840688.1010202@oracle.com \
    --to=alexey.kodanev@oracle.com \
    --cc=ajeet.y@samsung.com \
    --cc=akhilesh.k@samsung.com \
    --cc=ltp-list@lists.sourceforge.net \
    --cc=manjeet.p@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox