Commit 202728d783a0fc180e7141d18186eeae167218a1
Committed by
Jaroslav Kysela
1 parent
3e964432f5
Exists in
master
and in
7 other branches
[ALSA] fix some memory leaks
Modules: Generic drivers,ES18xx driver,CS46xx driver This patch fixes two memory leaks spotted by the Coverity checker. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Showing 3 changed files with 9 additions and 3 deletions Side-by-side Diff
sound/drivers/serial-u16550.c
sound/isa/es18xx.c
... | ... | @@ -2083,6 +2083,7 @@ |
2083 | 2083 | err = pnp_activate_dev(acard->devc); |
2084 | 2084 | if (err < 0) { |
2085 | 2085 | snd_printk(KERN_ERR PFX "PnP control configure failure (out of resources?)\n"); |
2086 | + kfree(cfg); | |
2086 | 2087 | return -EAGAIN; |
2087 | 2088 | } |
2088 | 2089 | snd_printdd("pnp: port=0x%lx\n", pnp_port_start(acard->devc, 0)); |
sound/pci/cs46xx/dsp_spos.c
... | ... | @@ -237,7 +237,7 @@ |
237 | 237 | |
238 | 238 | if (ins->symbol_table.symbols == NULL) { |
239 | 239 | cs46xx_dsp_spos_destroy(chip); |
240 | - return NULL; | |
240 | + goto error; | |
241 | 241 | } |
242 | 242 | |
243 | 243 | ins->code.offset = 0; |
... | ... | @@ -246,7 +246,7 @@ |
246 | 246 | |
247 | 247 | if (ins->code.data == NULL) { |
248 | 248 | cs46xx_dsp_spos_destroy(chip); |
249 | - return NULL; | |
249 | + goto error; | |
250 | 250 | } |
251 | 251 | |
252 | 252 | ins->nscb = 0; |
... | ... | @@ -257,7 +257,7 @@ |
257 | 257 | |
258 | 258 | if (ins->modules == NULL) { |
259 | 259 | cs46xx_dsp_spos_destroy(chip); |
260 | - return NULL; | |
260 | + goto error; | |
261 | 261 | } |
262 | 262 | |
263 | 263 | /* default SPDIF input sample rate |
... | ... | @@ -280,6 +280,10 @@ |
280 | 280 | /* left and right validity bits */ (1 << 13) | (1 << 12); |
281 | 281 | |
282 | 282 | return ins; |
283 | + | |
284 | +error: | |
285 | + kfree(ins); | |
286 | + return NULL; | |
283 | 287 | } |
284 | 288 | |
285 | 289 | void cs46xx_dsp_spos_destroy (struct snd_cs46xx * chip) |