Browse Source

- fix possible leak and error while fetching PHPRC

experimental/with_scalar_types
Pierre Joye 16 years ago
parent
commit
2721bbfcf9
  1. 26
      main/php_ini.c

26
main/php_ini.c

@ -396,13 +396,35 @@ int php_init_config(TSRMLS_D)
static const char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 };
#ifdef PHP_WIN32
char *reg_location;
char phprc_path[MAXPATHLEN];
#endif
env_location = getenv("PHPRC");
#ifdef PHP_WIN32
if (!env_location) {
env_location = "";
char dummybuf;
int size;
SetLastError(0);
/*If the given bugger is not large enough to hold the data, the return value is
the buffer size, in characters, required to hold the string and its terminating
null character. We use this return value to alloc the final buffer. */
size = GetEnvironmentVariableA("PHPRC", &dummybuf, 0);
if (GetLastError() == ERROR_ENVVAR_NOT_FOUND) {
/* The environment variable doesn't exist. */
env_location = "";
} else {
if (size == 0) {
env_location = "";
} else {
size = GetEnvironmentVariableA("PHPRC", phprc_path, size);
env_location = phprc_path;
}
}
}
#endif
/*
* Prepare search path
*/

Loading…
Cancel
Save