Browse Source

MFH:

- Fix memory leak found by Osman
- Merge strlen to sizof change from CLI
PHP-5.2.1RC1
Marcus Boerger 19 years ago
parent
commit
13a67db7f5
  1. 37
      sapi/embed/php_embed.c

37
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)
{
@ -145,7 +145,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)
@ -158,26 +157,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];
}

Loading…
Cancel
Save