Merge lp:~vkolesnikov/pbxt/pbxt-07-double-free into lp:pbxt/1.0.07-rc

Proposed by Vladimir Kolesnikov
Status: Merged
Merged at revision: not available
Proposed branch: lp:~vkolesnikov/pbxt/pbxt-07-double-free
Merge into: lp:pbxt/1.0.07-rc
Diff against target: None lines
To merge this branch: bzr merge lp:~vkolesnikov/pbxt/pbxt-07-double-free
Reviewer Review Type Date Requested Status
PBXT Core Pending
Review via email: mp+9971@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'ChangeLog'
2--- ChangeLog 2009-08-09 15:54:22 +0000
3+++ ChangeLog 2009-08-11 09:17:53 +0000
4@@ -1,6 +1,8 @@
5 PBXT Release Notes
6 ==================
7
8+RN266: Fixed a crash: when initialization failed with an exception THD structure was released twice
9+
10 ------- 1.0.07q RC - 2009-08-09
11
12 RN265: Changes the sequential reading of data log files to skip gaps, instead of returning EOF. This ensures that extended data records are preserved even when something goes wrong with the way the file is written.
13
14=== modified file 'src/ha_pbxt.cc'
15--- src/ha_pbxt.cc 2009-07-10 14:52:26 +0000
16+++ src/ha_pbxt.cc 2009-08-11 09:17:53 +0000
17@@ -1139,16 +1139,17 @@
18 xt_heap_reference(self, pbxt_database);
19 }
20 catch_(b) {
21- if (!curr_thd)
22- myxt_destroy_thread(thd, FALSE);
23-#ifndef DRIZZLED
24- myxt_mutex_lock(&LOCK_plugin);
25-#endif
26 /* It is possible that the error was reset by cleanup code.
27 * Set a generic error code in that case.
28 */
29- if (!self->t_exception.e_xt_err)
30- xt_throw_error(self, XT_REG_CONTEXT, XT_SYSTEM_ERROR, 0, "Initialization failed");
31+ if (!self->t_exception.e_xt_err) {
32+ if (!curr_thd)
33+ myxt_destroy_thread(thd, FALSE);
34+#ifndef DRIZZLED
35+ myxt_mutex_lock(&LOCK_plugin);
36+#endif
37+ xt_throw_error(self, XT_REG_CONTEXT, XT_SYSTEM_ERROR, 0, "Initialization failed");
38+ }
39 }
40 cont_(b);
41

Subscribers

People subscribed via source and target branches

to all changes: