Merge lp:~vanvugt/compiz/fix-1089251 into lp:compiz/0.9.9

Proposed by Daniel van Vugt
Status: Superseded
Proposed branch: lp:~vanvugt/compiz/fix-1089251
Merge into: lp:compiz/0.9.9
Diff against target: 54 lines (+6/-24)
1 file modified
compizconfig/libcompizconfig/tests/compizconfig_test_ccs_setting.cpp (+6/-24)
To merge this branch: bzr merge lp:~vanvugt/compiz/fix-1089251
Reviewer Review Type Date Requested Status
Compiz Maintainers Pending
Review via email: mp+139402@code.launchpad.net

This proposal has been superseded by a proposal from 2012-12-12.

Commit message

Fix segfaults in compizconfig_test_ccs_setting, due to a reference pointing
at a temporary. (LP: #1089251)

To post a comment you must log in.

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'compizconfig/libcompizconfig/tests/compizconfig_test_ccs_setting.cpp'
2--- compizconfig/libcompizconfig/tests/compizconfig_test_ccs_setting.cpp 2012-12-07 06:01:09 +0000
3+++ compizconfig/libcompizconfig/tests/compizconfig_test_ccs_setting.cpp 2012-12-12 08:58:21 +0000
4@@ -490,16 +490,19 @@
5 typedef CopyRawValueBase <const char *> Parent;
6
7 CopyRawValue (const char * value) :
8- CopyRawValueBase <const char *> (value)
9+ CopyRawValueBase <const char *> (ptr),
10+ ptr (value)
11 {
12 }
13
14 ReturnType operator () ()
15 {
16- /* XXX: Valgrind complains here that mValue is uninitialized, but
17- * verification using gdb confirms that isn't true */
18 return strdup (Parent::mValue);
19 }
20+
21+ private:
22+ // mValue is a reference so it needs a persistent variable to point at
23+ const char *ptr;
24 };
25
26 template <>
27@@ -550,27 +553,6 @@
28 return settingValue;
29 }
30
31-CCSSettingValuePtr
32-ListValueToSettingValueList (CCSSettingValue *listChild)
33-{
34- listChild->isListChild = TRUE;
35-
36- CCSSettingValueList valueListHead = ccsSettingValueListAppend (NULL, listChild);
37- CCSSettingValuePtr valueListValue (AutoDestroy (NewCCSSettingValue (),
38- ccsSettingValueUnref));
39-
40- valueListValue->value.asList = valueListHead;
41-
42- return valueListValue;
43-}
44-
45-template <typename SettingValueType>
46-CCSSettingValuePtr
47-RawValueToListValue (const SettingValueType &value)
48-{
49- return ListValueToSettingValueList (RawValueToCCSValue (value));
50-}
51-
52 class ContainedValueGenerator
53 {
54 private:

Subscribers

People subscribed via source and target branches