* [LTP] [PATCH] sem_conpro: fix memory leak @ 2015-06-23 1:02 Wei,Jiangang 2015-06-23 10:06 ` Alexey Kodanev 0 siblings, 1 reply; 5+ messages in thread From: Wei,Jiangang @ 2015-06-23 1:02 UTC (permalink / raw) To: ltp-list * If _POSIX_SEMAPHORES is not defined, It's no need to allocate buffer. so, allocate buffer after checking it. * free the memory at the end of main(). Signed-off-by: Wei,Jiangang <weijg.fnst@cn.fujitsu.com> --- testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c b/testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c index f5f1abf..58657f9 100644 --- a/testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c +++ b/testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c @@ -102,12 +102,12 @@ int main(int argc, char *argv[]) int lock_value = 1; buf_t *buf; pthread_t con, pro; - buf = malloc(sizeof(buf_t)); #ifndef _POSIX_SEMAPHORES printf("_POSIX_SEMAPHORES is not defined \n"); return PTS_UNRESOLVED; #endif + buf = malloc(sizeof(buf_t)); if (-1 == sem_init(&(buf->occupied), shared, occupied_value)) { perror("sem_init didn't return success \n"); printf("hello \n"); @@ -129,5 +129,6 @@ int main(int argc, char *argv[]) pthread_join(pro, NULL); sem_destroy(&buf->occupied); sem_destroy(&buf->empty); + free(buf); return PTS_PASS; } -- 1.9.3 ------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [LTP] [PATCH] sem_conpro: fix memory leak 2015-06-23 1:02 [LTP] [PATCH] sem_conpro: fix memory leak Wei,Jiangang @ 2015-06-23 10:06 ` Alexey Kodanev 2015-06-24 3:37 ` Wei, Jiangang 2015-06-24 3:41 ` [LTP] [PATCH v2] sem_conpro: cleanup code Wei,Jiangang 0 siblings, 2 replies; 5+ messages in thread From: Alexey Kodanev @ 2015-06-23 10:06 UTC (permalink / raw) To: Wei, Jiangang, ltp-list Hi! On 06/23/2015 04:02 AM, Wei,Jiangang wrote: > * If _POSIX_SEMAPHORES is not defined, > It's no need to allocate buffer. > so, allocate buffer after checking it. > > * free the memory at the end of main(). > > Signed-off-by: Wei,Jiangang <weijg.fnst@cn.fujitsu.com> > --- > testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) Please look at "[LTP] [PATCH]: Fix memory leak by freeing buf" thread. Thanks, Alexey ------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [LTP] [PATCH] sem_conpro: fix memory leak 2015-06-23 10:06 ` Alexey Kodanev @ 2015-06-24 3:37 ` Wei, Jiangang 2015-06-24 3:41 ` [LTP] [PATCH v2] sem_conpro: cleanup code Wei,Jiangang 1 sibling, 0 replies; 5+ messages in thread From: Wei, Jiangang @ 2015-06-24 3:37 UTC (permalink / raw) To: alexey.kodanev@oracle.com; +Cc: ltp-list@lists.sourceforge.net On Tue, 2015-06-23 at 13:06 +0300, Alexey Kodanev wrote: > Hi! > On 06/23/2015 04:02 AM, Wei,Jiangang wrote: > > * If _POSIX_SEMAPHORES is not defined, > > It's no need to allocate buffer. > > so, allocate buffer after checking it. > > > > * free the memory at the end of main(). > > > > Signed-off-by: Wei,Jiangang <weijg.fnst@cn.fujitsu.com> > > --- > > testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > Please look at "[LTP] [PATCH]: Fix memory leak by freeing buf" thread. Thanks for your reminder. I will update my patch. Regard, wei > > Thanks, > Alexey > ------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 5+ messages in thread
* [LTP] [PATCH v2] sem_conpro: cleanup code 2015-06-23 10:06 ` Alexey Kodanev 2015-06-24 3:37 ` Wei, Jiangang @ 2015-06-24 3:41 ` Wei,Jiangang 2015-06-25 13:46 ` Alexey Kodanev 1 sibling, 1 reply; 5+ messages in thread From: Wei,Jiangang @ 2015-06-24 3:41 UTC (permalink / raw) To: ltp-list * It's reasonable to allocate memory after checking _POSIX_SEMAPHORES. Allocate 'buf' on the stack to avoid the problem. * remove meaningless printf() Signed-off-by: Wei,Jiangang <weijg.fnst@cn.fujitsu.com> --- .../functional/semaphores/sem_conpro.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c b/testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c index f5f1abf..2fb9890 100644 --- a/testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c +++ b/testcases/open_posix_testsuite/functional/semaphores/sem_conpro.c @@ -100,34 +100,32 @@ int main(int argc, char *argv[]) int occupied_value = BUF_SIZE; int empty_value = 0; int lock_value = 1; - buf_t *buf; + buf_t buf; pthread_t con, pro; - buf = malloc(sizeof(buf_t)); #ifndef _POSIX_SEMAPHORES printf("_POSIX_SEMAPHORES is not defined \n"); return PTS_UNRESOLVED; #endif - if (-1 == sem_init(&(buf->occupied), shared, occupied_value)) { + if (-1 == sem_init(&buf.occupied, shared, occupied_value)) { perror("sem_init didn't return success \n"); - printf("hello \n"); return PTS_UNRESOLVED; } - if (-1 == sem_init(&buf->empty, shared, empty_value)) { + if (-1 == sem_init(&buf.empty, shared, empty_value)) { perror("sem_init didn't return success \n"); return PTS_UNRESOLVED; } - if (-1 == sem_init(&buf->lock, shared, lock_value)) { + if (-1 == sem_init(&buf.lock, shared, lock_value)) { perror("sem_init didn't return success \n"); return PTS_UNRESOLVED; } in = out = 0; - pthread_create(&con, NULL, (void *)consumer, (void *)buf); - pthread_create(&pro, NULL, (void *)producer, (void *)buf); + pthread_create(&con, NULL, (void *)consumer, (void *)&buf); + pthread_create(&pro, NULL, (void *)producer, (void *)&buf); pthread_join(con, NULL); pthread_join(pro, NULL); - sem_destroy(&buf->occupied); - sem_destroy(&buf->empty); + sem_destroy(&buf.occupied); + sem_destroy(&buf.empty); return PTS_PASS; } -- 1.9.3 ------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [LTP] [PATCH v2] sem_conpro: cleanup code 2015-06-24 3:41 ` [LTP] [PATCH v2] sem_conpro: cleanup code Wei,Jiangang @ 2015-06-25 13:46 ` Alexey Kodanev 0 siblings, 0 replies; 5+ messages in thread From: Alexey Kodanev @ 2015-06-25 13:46 UTC (permalink / raw) To: Wei, Jiangang, ltp-list Hi! On 06/24/2015 06:41 AM, Wei,Jiangang wrote: > * It's reasonable to allocate memory after checking > _POSIX_SEMAPHORES. > Allocate 'buf' on the stack to avoid the problem. > > * remove meaningless printf() > Patch applied. Also removed not needed void cast and fix commit message. Thanks, Alexey ------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-06-25 13:43 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-06-23 1:02 [LTP] [PATCH] sem_conpro: fix memory leak Wei,Jiangang 2015-06-23 10:06 ` Alexey Kodanev 2015-06-24 3:37 ` Wei, Jiangang 2015-06-24 3:41 ` [LTP] [PATCH v2] sem_conpro: cleanup code Wei,Jiangang 2015-06-25 13:46 ` Alexey Kodanev
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox