summaryrefslogtreecommitdiff
path: root/sapi/embed/php_embed.c
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2008-03-25 22:05:22 +0000
committerMarcus Boerger <helly@php.net>2008-03-25 22:05:22 +0000
commit7916f1c1f075eda649195765251f087cac16af23 (patch)
tree8edbe71c8f3ba0c4feb535a2e356b50c51bc9856 /sapi/embed/php_embed.c
parentc0b468366169ecf910f0ea209921e6f1cdbe4b57 (diff)
downloadphp-git-7916f1c1f075eda649195765251f087cac16af23.tar.gz
MFH:
- Fix memory leak found by Osman - Merge strlen to sizof change from CLI
Diffstat (limited to 'sapi/embed/php_embed.c')
-rw-r--r--sapi/embed/php_embed.c37
1 files changed, 17 insertions, 20 deletions
diff --git a/sapi/embed/php_embed.c b/sapi/embed/php_embed.c
index 5b0c63c1e3..67e842b585 100644
--- a/sapi/embed/php_embed.c
+++ b/sapi/embed/php_embed.c
@@ -24,13 +24,13 @@
#include <fcntl.h>
#endif
-#define HARDCODED_INI \
- "html_errors=0\n" \
- "register_argc_argv=1\n" \
- "implicit_flush=1\n" \
- "output_buffering=0\n" \
- "max_execution_time=0\n" \
- "max_input_time=-1\n"
+const char HARDCODED_INI[] =
+ "html_errors=0\n"
+ "register_argc_argv=1\n"
+ "implicit_flush=1\n"
+ "output_buffering=0\n"
+ "max_execution_time=0\n"
+ "max_input_time=-1\n\0";
static char* php_embed_read_cookies(TSRMLS_D)
{
@@ -146,7 +146,6 @@ int php_embed_init(int argc, char **argv PTSRMLS_DC)
#ifdef ZTS
void ***tsrm_ls = NULL;
#endif
- int ini_entries_len = 0;
#ifdef HAVE_SIGNAL_H
#if defined(SIGPIPE) && defined(SIG_IGN)
@@ -159,26 +158,24 @@ int php_embed_init(int argc, char **argv PTSRMLS_DC)
#endif
#endif
-#ifdef PHP_WIN32
- _fmode = _O_BINARY; /*sets default for file streams to binary */
- setmode(_fileno(stdin), O_BINARY); /* make the stdio mode be binary */
- setmode(_fileno(stdout), O_BINARY); /* make the stdio mode be binary */
- setmode(_fileno(stderr), O_BINARY); /* make the stdio mode be binary */
-#endif
-
#ifdef ZTS
tsrm_startup(1, 1, 0, NULL);
tsrm_ls = ts_resource(0);
*ptsrm_ls = tsrm_ls;
#endif
- ini_entries_len = strlen(HARDCODED_INI);
- php_embed_module.ini_entries = malloc(ini_entries_len+2);
- memcpy(php_embed_module.ini_entries, HARDCODED_INI, ini_entries_len+1);
- php_embed_module.ini_entries[ini_entries_len+1] = 0;
-
sapi_startup(&php_embed_module);
+#ifdef PHP_WIN32
+ _fmode = _O_BINARY; /*sets default for file streams to binary */
+ setmode(_fileno(stdin), O_BINARY); /* make the stdio mode be binary */
+ setmode(_fileno(stdout), O_BINARY); /* make the stdio mode be binary */
+ setmode(_fileno(stderr), O_BINARY); /* make the stdio mode be binary */
+#endif
+
+ php_embed_module.ini_entries = malloc(sizeof(HARDCODED_INI));
+ memcpy(php_embed_module.ini_entries, HARDCODED_INI, sizeof(HARDCODED_INI));
+
if (argv) {
php_embed_module.executable_location = argv[0];
}