Skip to content

Commit

Permalink
Fix PHP crash in director_finalizer
Browse files Browse the repository at this point in the history
  • Loading branch information
ojwb committed Jan 14, 2015
1 parent 558ded2 commit 0dd685b
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 5 deletions.
3 changes: 1 addition & 2 deletions Lib/php/director.swg
Expand Up @@ -98,8 +98,7 @@ namespace Swig {
TSRMLS_SET_CTX(swig_zts_ctx);
}

bool swig_is_overridden_method(char *cname, char *lc_fname) {
TSRMLS_FETCH_FROM_CTX(swig_zts_ctx);
static bool swig_is_overridden_method(char *cname, char *lc_fname TSRMLS_DC) {
zend_class_entry **ce;
zend_function *mptr;

Expand Down
4 changes: 1 addition & 3 deletions Source/Modules/php.cxx
Expand Up @@ -915,10 +915,8 @@ class PHP : public Language {
}

if (is_member_director(n)) {
Wrapper_add_local(f, "director", "Swig::Director *director = 0");
Printf(f->code, "director = dynamic_cast<Swig::Director*>(arg1);\n");
Wrapper_add_local(f, "upcall", "bool upcall = false");
Printf(f->code, "upcall = !director->swig_is_overridden_method((char *)\"%s%s\", (char *)\"%s\");\n",
Printf(f->code, "upcall = !Swig::Director::swig_is_overridden_method((char *)\"%s%s\", (char *)\"%s\" TSRMLS_CC);\n",
prefix, Swig_class_name(Swig_methodclass(n)), name);
}

Expand Down

0 comments on commit 0dd685b

Please sign in to comment.