Browse Source

's' and size_t - fix some invalid pointers and the remaining ext/mcrypt parts

pull/382/merge
Anatol Belski 12 years ago
parent
commit
1e3e9e0bbb
  1. 10
      ext/mcrypt/mcrypt.c
  2. 13
      ext/phar/phar_object.c

10
ext/mcrypt/mcrypt.c

@ -1242,7 +1242,7 @@ static void php_mcrypt_do_crypt(char* cipher, const char *key, int key_len, cons
{
char *cipher_dir_string;
char *module_dir_string;
unsigned long int data_size;
zend_long data_size;
char *data_s;
MCRYPT td;
@ -1337,7 +1337,7 @@ PHP_FUNCTION(mcrypt_ecb)
{
zval *mode;
char *cipher, *key, *data, *iv = NULL;
int cipher_len, key_len, data_len, iv_len = 0;
size_t cipher_len, key_len, data_len, iv_len = 0;
MCRYPT_GET_CRYPT_ARGS
@ -1353,7 +1353,7 @@ PHP_FUNCTION(mcrypt_cbc)
{
zval *mode;
char *cipher, *key, *data, *iv = NULL;
int cipher_len, key_len, data_len, iv_len = 0;
size_t cipher_len, key_len, data_len, iv_len = 0;
MCRYPT_GET_CRYPT_ARGS
@ -1369,7 +1369,7 @@ PHP_FUNCTION(mcrypt_cfb)
{
zval *mode;
char *cipher, *key, *data, *iv = NULL;
int cipher_len, key_len, data_len, iv_len = 0;
size_t cipher_len, key_len, data_len, iv_len = 0;
MCRYPT_GET_CRYPT_ARGS
@ -1385,7 +1385,7 @@ PHP_FUNCTION(mcrypt_ofb)
{
zval *mode;
char *cipher, *key, *data, *iv = NULL;
int cipher_len, key_len, data_len, iv_len = 0;
size_t cipher_len, key_len, data_len, iv_len = 0;
MCRYPT_GET_CRYPT_ARGS

13
ext/phar/phar_object.c

@ -455,7 +455,8 @@ PHP_METHOD(Phar, running)
PHP_METHOD(Phar, mount)
{
char *fname, *arch = NULL, *entry = NULL, *path, *actual;
size_t fname_len, arch_len, entry_len, path_len, actual_len;
int fname_len, arch_len, entry_len;
size_t path_len, actual_len;
phar_archive_data *pphar;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &path, &path_len, &actual, &actual_len) == FAILURE) {
@ -1138,7 +1139,7 @@ PHP_METHOD(Phar, __construct)
}
save_fname = fname;
if (SUCCESS == phar_split_fname(fname, fname_len, &arch, &arch_len, &entry, &entry_len, !is_data, 2 TSRMLS_CC)) {
if (SUCCESS == phar_split_fname(fname, (int)fname_len, &arch, &arch_len, &entry, &entry_len, !is_data, 2 TSRMLS_CC)) {
/* use arch (the basename for the archive) for fname instead of fname */
/* this allows support for RecursiveDirectoryIterator of subdirectories */
#ifdef PHP_WIN32
@ -1292,7 +1293,8 @@ PHP_METHOD(Phar, getSupportedCompression)
PHP_METHOD(Phar, unlinkArchive)
{
char *fname, *error, *zname, *arch, *entry;
size_t fname_len, zname_len, arch_len, entry_len;
size_t fname_len;
int zname_len, arch_len, entry_len;
phar_archive_data *phar;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &fname, &fname_len) == FAILURE) {
@ -4327,7 +4329,8 @@ all_files:
PHP_METHOD(PharFileInfo, __construct)
{
char *fname, *arch, *entry, *error;
size_t fname_len, arch_len, entry_len;
size_t fname_len;
int arch_len, entry_len;
phar_entry_object *entry_obj;
phar_entry_info *entry_info;
phar_archive_data *phar_data;
@ -4344,7 +4347,7 @@ PHP_METHOD(PharFileInfo, __construct)
return;
}
if (fname_len < 7 || memcmp(fname, "phar://", 7) || phar_split_fname(fname, fname_len, &arch, &arch_len, &entry, &entry_len, 2, 0 TSRMLS_CC) == FAILURE) {
if (fname_len < 7 || memcmp(fname, "phar://", 7) || phar_split_fname(fname, (int)fname_len, &arch, &arch_len, &entry, &entry_len, 2, 0 TSRMLS_CC) == FAILURE) {
zend_throw_exception_ex(spl_ce_RuntimeException, 0 TSRMLS_CC,
"'%s' is not a valid phar archive URL (must have at least phar://filename.phar)", fname);
return;

Loading…
Cancel
Save