diff mbox

kconfig: Fix compiler warning

Message ID 20141120054437.GA30162@athena (mailing list archive)
State New, archived
Headers show

Commit Message

Eddie Kovsky Nov. 20, 2014, 5:44 a.m. UTC
Fixes gcc warning when building linux-next:

In file included from scripts/kconfig/zconf.tab.c:2537:0:
scripts/kconfig/menu.c: In function ‘get_symbol_str’:
scripts/kconfig/menu.c:590:18: warning: ‘jump’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     jump->offset = strlen(r->s);
                  ^
scripts/kconfig/menu.c:551:19: note: ‘jump’ was declared here
  struct jump_key *jump;
                   ^
  HOSTLD  scripts/kconfig/conf

Moved the initialization of struct jump_key *jump outside the first
'if' branch so it can be available throughout the function.

Also uses the preferred pointer syntax for passing the size of a struct.

Tested on next-20141119.

Signed-off-by: Eddie Kovsky <ewk@edkovsky.org>
---
 scripts/kconfig/menu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Michal Marek Nov. 28, 2014, 1:19 p.m. UTC | #1
On 2014-11-20 06:44, Eddie Kovsky wrote:
> diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
> index a26cc5d2a9b0..a728d23949e7 100644
> --- a/scripts/kconfig/menu.c
> +++ b/scripts/kconfig/menu.c
> @@ -559,8 +559,8 @@ static void get_prompt_str(struct gstr *r, struct property *prop,
>  		if (location == NULL && accessible)
>  			location = menu;
>  	}
> +	jump = xmalloc(sizeof(*jump));
>  	if (head && location) {
> -		jump = xmalloc(sizeof(struct jump_key));

This creates a memory leak, because 'jump' is allocated, but not added
to the list, if the following condition is not met.

Michal

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
index a26cc5d2a9b0..a728d23949e7 100644
--- a/scripts/kconfig/menu.c
+++ b/scripts/kconfig/menu.c
@@ -559,8 +559,8 @@  static void get_prompt_str(struct gstr *r, struct property *prop,
 		if (location == NULL && accessible)
 			location = menu;
 	}
+	jump = xmalloc(sizeof(*jump));
 	if (head && location) {
-		jump = xmalloc(sizeof(struct jump_key));
 
 		if (menu_is_visible(prop->menu)) {
 			/*