char *pretty_key(char *key, size_t key_len, zend_bool uctitle, zend_bool xhyphen)
{
if (key && key_len) {
- int i, wasalpha;
+ unsigned i, wasalpha;
if (wasalpha = isalpha(key[0])) {
key[0] = uctitle ? toupper(key[0]) : tolower(key[0]);
}
{
/* "0-12345" */
case -10:
- if (length <= end) {
+ /* "0-", "0-0" or overflow */
+ if (end == -1 || end == -10 || length <= end) {
return RANGE_ERR;
}
begin = 0;
/* "-12345" */
case -1:
- if (length <= end) {
+ /* "-", "-0" or overflow */
+ if (end == -1 || end == -10 || length <= end) {
return RANGE_ERR;
}
begin = length - end;
default:
switch (end)
{
+ /* "12345-0" */
+ case -10:
+ return RANGE_ERR;
+ break;
+
/* "12345-" */
case -1:
if (length <= begin) {
/* }}} */
/* {{{ STATUS http_chunked_decode(char *, size_t, char **, size_t *) */
-PHP_HTTP_API STATUS _http_chunked_decode(const char *encoded, size_t encoded_len,
+PHP_HTTP_API STATUS _http_chunked_decode(const char *encoded, size_t encoded_len,
char **decoded, size_t *decoded_len TSRMLS_DC)
{
const char *e_ptr;
if (SUCCESS != http_urlencode_hash_implementation(hash, qstr, arg_sep)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Couldn't encode query data");
- phpstr_dtor(qstr);
+ phpstr_free(qstr);
return FAILURE;
}
phpstr_data(qstr, encoded_data, encoded_len);
- phpstr_dtor(qstr);
+ phpstr_free(qstr);
return SUCCESS;
}
ulong idx;
zval **zdata = NULL, *copyzval;
- if (!ht) {
+ if (!ht || !formstr) {
return FAILURE;
}
*p = '\0';
}
ht->nApplyCount++;
- http_urlencode_hash_implementation_ex(HASH_OF(*zdata), formstr, arg_sep,
+ http_urlencode_hash_implementation_ex(HASH_OF(*zdata), formstr, arg_sep,
NULL, 0, newprefix, newprefix_len, "]", 1, (Z_TYPE_PP(zdata) == IS_OBJECT ? *zdata : NULL));
ht->nApplyCount--;
efree(newprefix);