Merge lp://qastaging/~compiz-team/compiz/compiz.fix_1018602 into lp://qastaging/compiz/0.9.8
Proposed by
Sam Spilsbury
Status: | Superseded |
---|---|
Proposed branch: | lp://qastaging/~compiz-team/compiz/compiz.fix_1018602 |
Merge into: | lp://qastaging/compiz/0.9.8 |
Diff against target: |
497 lines (+120/-96) 1 file modified
compizconfig/gsettings/src/gsettings.c (+120/-96) |
To merge this branch: | bzr merge lp://qastaging/~compiz-team/compiz/compiz.fix_1018602 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Daniel van Vugt | Needs Fixing | ||
Review via email:
|
This proposal supersedes a proposal from 2012-06-29.
This proposal has been superseded by a proposal from 2012-06-29.
Description of the change
Fixes LP (#1018602) : An invalid read when using g_variant_
No tests yet, tests will be added to gsettings in another commit when the lcc testing work lands.
To post a comment you must log in.
Unmerged revisions
- 3272. By Sam Spilsbury
-
Merge lp:compiz
Oops. There is a problem under case TypeMatch:
array is no longer initialized with zeros because you changed calloc to malloc. So the free() loop after it could potentially free an invalid pointer if g_variant_iter_loop doesn't find exactly nItems.
Also, strdup(value) is not necessary if you use: iter_next (iter, "s", &value))
while (g_variant_
*arrayCounter++ = value;
and then change the free() calls below it to g_free().
On that note, the variable variantType should be removed from readListValue. Just use "s", "i", "b" and "d" instead. It will be smaller, faster and more readable.