* [PATCH] opensm/osm_console.c: fix memory and file descriptor leaks
@ 2010-09-07 15:12 Yevgeny Kliteynik
[not found] ` <4C86567A.5060400-VPRAkNaXOzVS1MOuV/RT9w@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Yevgeny Kliteynik @ 2010-09-07 15:12 UTC (permalink / raw)
To: Sasha Khapyorsky, Linux RDMA
Signed-off-by: Yevgeny Kliteynik <kliteyn-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
---
opensm/opensm/osm_console.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/opensm/opensm/osm_console.c b/opensm/opensm/osm_console.c
index bc7bea3..29a6c83 100644
--- a/opensm/opensm/osm_console.c
+++ b/opensm/opensm/osm_console.c
@@ -1302,12 +1302,13 @@ static void dump_portguid_parse(char **p_last, osm_opensm_t * p_osm, FILE * out)
/* Check we have at least one expression to match */
if (p_head_regexp == NULL) {
fprintf(out, "No valid expression provided. Aborting\n");
+ goto Exit;
return;
}
if (p_osm->sm.p_subn->need_update != 0) {
fprintf(out, "Subnet is not ready yet. Try again later\n");
- return;
+ goto Free_and_exit;
}
/* Subnet doesn't need to be updated so we can carry on */
@@ -1333,14 +1334,16 @@ static void dump_portguid_parse(char **p_last, osm_opensm_t * p_osm, FILE * out)
}
CL_PLOCK_RELEASE(p_osm->sm.p_lock);
- if (output != out)
- fclose(output);
+Free_and_exit:
for (; p_head_regexp; p_head_regexp = p_regexp) {
p_regexp = p_head_regexp->next;
regfree(&p_head_regexp->exp);
free(p_head_regexp);
}
+Exit:
+ if (output != out)
+ fclose(output);
}
static void help_dump_portguid(FILE * out, int detail)
--
1.6.2.4
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] opensm/osm_console.c: fix memory and file descriptor leaks
[not found] ` <4C86567A.5060400-VPRAkNaXOzVS1MOuV/RT9w@public.gmane.org>
@ 2010-09-07 15:20 ` Ira Weiny
[not found] ` <20100907082047.3b6be681.weiny2-i2BcT+NCU+M@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Ira Weiny @ 2010-09-07 15:20 UTC (permalink / raw)
To: kliteyn-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org
Cc: Yevgeny Kliteynik, Sasha Khapyorsky, Linux RDMA
Hi Yevgeny,
On Tue, 7 Sep 2010 08:12:58 -0700
Yevgeny Kliteynik <kliteyn-VPRAkNaXOzVS1MOuV/RT9w@public.gmane.org> wrote:
>
> Signed-off-by: Yevgeny Kliteynik <kliteyn-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
> ---
> opensm/opensm/osm_console.c | 9 ++++++---
> 1 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/opensm/opensm/osm_console.c b/opensm/opensm/osm_console.c
> index bc7bea3..29a6c83 100644
> --- a/opensm/opensm/osm_console.c
> +++ b/opensm/opensm/osm_console.c
> @@ -1302,12 +1302,13 @@ static void dump_portguid_parse(char **p_last, osm_opensm_t * p_osm, FILE * out)
> /* Check we have at least one expression to match */
> if (p_head_regexp == NULL) {
> fprintf(out, "No valid expression provided. Aborting\n");
> + goto Exit;
> return;
While you are at it, shouldn't you remove the return here as well?
Ira
> }
>
> if (p_osm->sm.p_subn->need_update != 0) {
> fprintf(out, "Subnet is not ready yet. Try again later\n");
> - return;
> + goto Free_and_exit;
> }
>
> /* Subnet doesn't need to be updated so we can carry on */
> @@ -1333,14 +1334,16 @@ static void dump_portguid_parse(char **p_last, osm_opensm_t * p_osm, FILE * out)
> }
>
> CL_PLOCK_RELEASE(p_osm->sm.p_lock);
> - if (output != out)
> - fclose(output);
>
> +Free_and_exit:
> for (; p_head_regexp; p_head_regexp = p_regexp) {
> p_regexp = p_head_regexp->next;
> regfree(&p_head_regexp->exp);
> free(p_head_regexp);
> }
> +Exit:
> + if (output != out)
> + fclose(output);
> }
>
> static void help_dump_portguid(FILE * out, int detail)
> --
> 1.6.2.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://*vger.kernel.org/majordomo-info.html
>
--
Ira Weiny
Math Programmer/Computer Scientist
Lawrence Livermore National Lab
925-423-8008
weiny2-i2BcT+NCU+M@public.gmane.org
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] opensm/osm_console.c: fix memory and file descriptor leaks
[not found] ` <20100907082047.3b6be681.weiny2-i2BcT+NCU+M@public.gmane.org>
@ 2010-09-07 15:32 ` Yevgeny Kliteynik
0 siblings, 0 replies; 3+ messages in thread
From: Yevgeny Kliteynik @ 2010-09-07 15:32 UTC (permalink / raw)
To: Ira Weiny; +Cc: Yevgeny Kliteynik, Sasha Khapyorsky, Linux RDMA
On 07-Sep-10 6:20 PM, Ira Weiny wrote:
> Hi Yevgeny,
>
> On Tue, 7 Sep 2010 08:12:58 -0700
> Yevgeny Kliteynik<kliteyn-VPRAkNaXOzVS1MOuV/RT9w@public.gmane.org> wrote:
>
>>
>> Signed-off-by: Yevgeny Kliteynik<kliteyn-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
>> ---
>> opensm/opensm/osm_console.c | 9 ++++++---
>> 1 files changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/opensm/opensm/osm_console.c b/opensm/opensm/osm_console.c
>> index bc7bea3..29a6c83 100644
>> --- a/opensm/opensm/osm_console.c
>> +++ b/opensm/opensm/osm_console.c
>> @@ -1302,12 +1302,13 @@ static void dump_portguid_parse(char **p_last, osm_opensm_t * p_osm, FILE * out)
>> /* Check we have at least one expression to match */
>> if (p_head_regexp == NULL) {
>> fprintf(out, "No valid expression provided. Aborting\n");
>> + goto Exit;
>> return;
>
> While you are at it, shouldn't you remove the return here as well?
Yep :)
-- Yevgeny
> Ira
>
>> }
>>
>> if (p_osm->sm.p_subn->need_update != 0) {
>> fprintf(out, "Subnet is not ready yet. Try again later\n");
>> - return;
>> + goto Free_and_exit;
>> }
>>
>> /* Subnet doesn't need to be updated so we can carry on */
>> @@ -1333,14 +1334,16 @@ static void dump_portguid_parse(char **p_last, osm_opensm_t * p_osm, FILE * out)
>> }
>>
>> CL_PLOCK_RELEASE(p_osm->sm.p_lock);
>> - if (output != out)
>> - fclose(output);
>>
>> +Free_and_exit:
>> for (; p_head_regexp; p_head_regexp = p_regexp) {
>> p_regexp = p_head_regexp->next;
>> regfree(&p_head_regexp->exp);
>> free(p_head_regexp);
>> }
>> +Exit:
>> + if (output != out)
>> + fclose(output);
>> }
>>
>> static void help_dump_portguid(FILE * out, int detail)
>> --
>> 1.6.2.4
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
>> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>> More majordomo info at http://*vger.kernel.org/majordomo-info.html
>>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-09-07 15:32 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-07 15:12 [PATCH] opensm/osm_console.c: fix memory and file descriptor leaks Yevgeny Kliteynik
[not found] ` <4C86567A.5060400-VPRAkNaXOzVS1MOuV/RT9w@public.gmane.org>
2010-09-07 15:20 ` Ira Weiny
[not found] ` <20100907082047.3b6be681.weiny2-i2BcT+NCU+M@public.gmane.org>
2010-09-07 15:32 ` Yevgeny Kliteynik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox