idc: clear task pointer after free on prepare error#10935
Open
lgirdwood wants to merge 1 commit into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Fixes a potential double-free in idc_prepare() when task initialization fails by nulling out dev->task after freeing it.
Changes:
- Set
dev->task = NULLaftersof_heap_free()on error inidc_prepare(). - Add a clarifying comment explaining why the pointer is cleared.
tmleman
reviewed
Jun 18, 2026
Comment on lines
+202
to
+204
| /* clear the freed pointer so a later comp_free path does | ||
| * not free it a second time | ||
| */ |
Contributor
There was a problem hiding this comment.
The comment seems unnecessary in this case.
Member
Author
There was a problem hiding this comment.
Removed the comment. (The two red checks — build-linux(lnl)/compare-linux-win — were a CI infra hiccup: "Could not resolve host: github.com" while fetching the mbedtls submodule, not a code issue; a re-run should clear them.)
On task init failure the task allocation was freed but the pointer left set, allowing a later free path to free it again. Clear the pointer after freeing. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On a task init failure in idc_prepare(), the task allocation was freed but
the pointer was left set, so a later comp_free path could free it a second
time. Clear
dev->taskafter freeing it.