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
next prev parent 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.