Fix some memory issues - use of deleted memory highlighted by DOH_DEBUG_MEMORY_POOLS

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13524 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2012-08-05 22:17:32 +00:00
commit 315dc5a879
2 changed files with 3 additions and 4 deletions

View file

@ -3493,6 +3493,7 @@ public:
if (returntype) {
Delete(qualified_return);
qualified_return = SwigType_rcaststr(returntype, "c_result");
if (!is_void && !ignored_method) {
@ -3786,6 +3787,7 @@ public:
Printf(callback_code, " return %s;\n", tm);
}
Delete(tm);
Delete(tp);
} else
Printf(callback_code, " %s;\n", upcall);
@ -3894,7 +3896,6 @@ public:
}
Delete(qualified_return);
Delete(c_ret_type);
Delete(declaration);
Delete(callback_typedef_parms);
Delete(delegate_parms);

View file

@ -3565,6 +3565,7 @@ public:
if (returntype) {
Delete(qualified_return);
qualified_return = SwigType_rcaststr(returntype, "c_result");
if (!is_void && (!ignored_method || pure_virtual)) {
@ -3814,8 +3815,6 @@ public:
if (!ignored_method)
Printf(w->code, "%s\n", tm);
Delete(tm);
/* Add parameter to the intermediate class code if generating the
* intermediate's upcall code */
if ((tm = Getattr(p, "tmap:jtype"))) {
@ -3890,7 +3889,6 @@ public:
Delete(arg);
Delete(c_decl);
Delete(c_param_type);
Delete(ln);
}