[alsa-devel] [PATCH] ALSA: memory leak in alsaucm
First time sending a patch, please let me know if I am doing this incorrectly.
alsaucm is leaking memory whenever execute_cset() is called.
bchang@LT74002R2XXG1:~/projects/alsa-lib-git/src/ucm$ git diff diff --git a/src/ucm/main.c b/src/ucm/main.c index 86f29e3..f8ceeeb 100644 --- a/src/ucm/main.c +++ b/src/ucm/main.c @@ -173,7 +173,8 @@ static int execute_cset(snd_ctl_t *ctl, char *cset) pos = strrchr(cset, ' '); if (pos == NULL) { uc_error("undefined value for cset >%s<", cset); - return -EINVAL; + err = -EINVAL; + goto __fail; } *pos = '\0'; err = snd_ctl_ascii_elem_id_parse(id, cset); @@ -196,6 +197,14 @@ static int execute_cset(snd_ctl_t *ctl, char *cset) err = 0; __fail: *pos = ' '; + + if (id != NULL) + free(id); + if (value != NULL) + free(value); + if (info != NULL) + free(info); + return err; }
Thanks
Hi,
On Tue, May 03, 2011 at 05:56:28AM +0800, Baek Chang wrote:
First time sending a patch, please let me know if I am doing this incorrectly.
Generally, we don't send patches as attachment.
As you're git, you can do three more steps.
1. commit your changes using git git commit -a -s when editor is invoked, you can input your reasons why this should be changed. the option '-s' here will add the "Signed-off-by:" line for you.
2. git format-patch -1 this command will generate the properly formated patch for you.
3. git send-email --to alsa-devel@alsa-project.org --cc <sound-maintainters> *.patch before you can use this send-email command, you need to add some configuration in your .gitconfig file, consult the manual to learn more.
HTH
alsaucm is leaking memory whenever execute_cset() is called.
bchang@LT74002R2XXG1:~/projects/alsa-lib-git/src/ucm$ git diff diff --git a/src/ucm/main.c b/src/ucm/main.c index 86f29e3..f8ceeeb 100644 --- a/src/ucm/main.c +++ b/src/ucm/main.c @@ -173,7 +173,8 @@ static int execute_cset(snd_ctl_t *ctl, char *cset) pos = strrchr(cset, ' '); if (pos == NULL) { uc_error("undefined value for cset >%s<", cset);
return -EINVAL;
err = -EINVAL;
goto __fail; } *pos = '\0'; err = snd_ctl_ascii_elem_id_parse(id, cset);
@@ -196,6 +197,14 @@ static int execute_cset(snd_ctl_t *ctl, char *cset) err = 0; __fail: *pos = ' ';
if (id != NULL)
free(id);
if (value != NULL)
free(value);
if (info != NULL)
free(info);
return err;
}
Thanks
-baeksanchang
diff --git a/src/ucm/main.c b/src/ucm/main.c index 86f29e3..f8ceeeb 100644 --- a/src/ucm/main.c +++ b/src/ucm/main.c @@ -173,7 +173,8 @@ static int execute_cset(snd_ctl_t *ctl, char *cset) pos = strrchr(cset, ' '); if (pos == NULL) { uc_error("undefined value for cset >%s<", cset);
return -EINVAL;
err = -EINVAL;
} *pos = '\0'; err = snd_ctl_ascii_elem_id_parse(id, cset);goto __fail;
@@ -196,6 +197,14 @@ static int execute_cset(snd_ctl_t *ctl, char *cset) err = 0; __fail: *pos = ' ';
- if (id != NULL)
free(id);
- if (value != NULL)
free(value);
- if (info != NULL)
free(info);
- return err;
}
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
I was using the instructions on alsa.org, but some of the git commands were not working on my machine, your instructions seem to work.
Thanks!
On Mon, May 2, 2011 at 5:14 PM, Lu Guanqun guanqun.lu@intel.com wrote:
Hi,
On Tue, May 03, 2011 at 05:56:28AM +0800, Baek Chang wrote:
First time sending a patch, please let me know if I am doing this incorrectly.
Generally, we don't send patches as attachment.
As you're git, you can do three more steps.
- commit your changes using git
git commit -a -s when editor is invoked, you can input your reasons why this should be changed. the option '-s' here will add the "Signed-off-by:" line for you.
- git format-patch -1
this command will generate the properly formated patch for you.
- git send-email --to alsa-devel@alsa-project.org --cc
<sound-maintainters> *.patch before you can use this send-email command, you need to add some configuration in your .gitconfig file, consult the manual to learn more.
HTH
alsaucm is leaking memory whenever execute_cset() is called.
bchang@LT74002R2XXG1:~/projects/alsa-lib-git/src/ucm$ git diff diff --git a/src/ucm/main.c b/src/ucm/main.c index 86f29e3..f8ceeeb 100644 --- a/src/ucm/main.c +++ b/src/ucm/main.c @@ -173,7 +173,8 @@ static int execute_cset(snd_ctl_t *ctl, char *cset) pos = strrchr(cset, ' '); if (pos == NULL) { uc_error("undefined value for cset >%s<", cset);
return -EINVAL;
err = -EINVAL;
goto __fail; } *pos = '\0'; err = snd_ctl_ascii_elem_id_parse(id, cset);
@@ -196,6 +197,14 @@ static int execute_cset(snd_ctl_t *ctl, char *cset) err = 0; __fail: *pos = ' ';
if (id != NULL)
free(id);
if (value != NULL)
free(value);
if (info != NULL)
free(info);
return err;
}
Thanks
-baeksanchang
diff --git a/src/ucm/main.c b/src/ucm/main.c index 86f29e3..f8ceeeb 100644 --- a/src/ucm/main.c +++ b/src/ucm/main.c @@ -173,7 +173,8 @@ static int execute_cset(snd_ctl_t *ctl, char *cset) pos = strrchr(cset, ' '); if (pos == NULL) { uc_error("undefined value for cset >%s<", cset);
return -EINVAL;
err = -EINVAL;
goto __fail; } *pos = '\0'; err = snd_ctl_ascii_elem_id_parse(id, cset);
@@ -196,6 +197,14 @@ static int execute_cset(snd_ctl_t *ctl, char *cset) err = 0; __fail: *pos = ' ';
if (id != NULL)
free(id);
if (value != NULL)
free(value);
if (info != NULL)
free(info);
return err;
}
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
-- guanqun
participants (2)
-
Baek Chang
-
Lu Guanqun