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

Proposed by Daniel van Vugt
Status: Merged
Approved by: Sam Spilsbury
Approved revision: 3525
Merged at revision: 3527
Proposed branch: lp:~vanvugt/compiz/fix-1089251
Merge into: lp:compiz/0.9.9
Prerequisite: lp:~vanvugt/compiz/fix-1089250
Diff against target: 26 lines (+6/-3)
1 file modified
compizconfig/libcompizconfig/tests/compizconfig_test_ccs_setting.cpp (+6/-3)
To merge this branch: bzr merge lp:~vanvugt/compiz/fix-1089251
Reviewer Review Type Date Requested Status
Sam Spilsbury Approve
PS Jenkins bot (community) continuous-integration Approve
Review via email: mp+139403@code.launchpad.net

This proposal supersedes 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.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Ah of course.

That one was confusing me for a while, thanks for catching it :)

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'compizconfig/libcompizconfig/tests/compizconfig_test_ccs_setting.cpp'
--- compizconfig/libcompizconfig/tests/compizconfig_test_ccs_setting.cpp 2012-12-12 09:00:28 +0000
+++ compizconfig/libcompizconfig/tests/compizconfig_test_ccs_setting.cpp 2012-12-12 09:00:28 +0000
@@ -490,16 +490,19 @@
490 typedef CopyRawValueBase <const char *> Parent;490 typedef CopyRawValueBase <const char *> Parent;
491491
492 CopyRawValue (const char * value) :492 CopyRawValue (const char * value) :
493 CopyRawValueBase <const char *> (value)493 CopyRawValueBase <const char *> (ptr),
494 ptr (value)
494 {495 {
495 }496 }
496497
497 ReturnType operator () ()498 ReturnType operator () ()
498 {499 {
499 /* XXX: Valgrind complains here that mValue is uninitialized, but
500 * verification using gdb confirms that isn't true */
501 return strdup (Parent::mValue);500 return strdup (Parent::mValue);
502 }501 }
502
503 private:
504 // mValue is a reference so it needs a persistent variable to point at
505 const char *ptr;
503};506};
504507
505template <>508template <>

Subscribers

People subscribed via source and target branches