summaryrefslogtreecommitdiff
path: root/Source/Modules/php.cxx
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2012-11-18 00:45:18 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2012-11-18 00:45:18 +0000
commitd918bddfc09c8f59fa45b1772cba106b663003b3 (patch)
treef4449d2327906c50553be8bb9719c1514adb947a /Source/Modules/php.cxx
parente450d4ebaca658c752dc8e5c9dd02e726cd064c5 (diff)
downloadswig-d918bddfc09c8f59fa45b1772cba106b663003b3.tar.gz
Fix segfaults when using filename paths greater than 1024 characters in length - use String * and heap instead of fixed size static char array buffers.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13904 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'Source/Modules/php.cxx')
-rw-r--r--Source/Modules/php.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/Modules/php.cxx b/Source/Modules/php.cxx
index ab0d0e6b3..1f2078a1e 100644
--- a/Source/Modules/php.cxx
+++ b/Source/Modules/php.cxx
@@ -354,7 +354,9 @@ public:
Printf(f_directors_h, "#ifndef SWIG_%s_WRAP_H_\n", cap_module);
Printf(f_directors_h, "#define SWIG_%s_WRAP_H_\n\n", cap_module);
- Printf(f_directors, "\n#include \"%s\"\n\n", Swig_file_filename(outfile_h));
+ String *filename = Swig_file_filename(outfile_h);
+ Printf(f_directors, "\n#include \"%s\"\n\n", filename);
+ Delete(filename);
}
/* PHP module file */