Hi! On 06/19/2015 02:25 PM, Manjeet Pawar wrote: > From: Manjeet Pawar <manjee...@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 <manjee...@samsung.com> > Signed-off-by: Akhilesh Kumar <akhiles...@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