Replace strncat in filter implementation

In this case we already know exactly where we need to write, no
need to use strncat at all.
This commit is contained in:
Nikita Popov 2019-08-23 15:51:57 +02:00
parent 9173c21a35
commit 724a4662b8
2 changed files with 6 additions and 4 deletions

View File

@ -292,8 +292,9 @@ static php_stream_filter *user_filter_factory_create(const char *filtername,
memcpy(wildcard, filtername, len + 1); /* copy \0 */
period = wildcard + (period - filtername);
while (period) {
*period = '\0';
strncat(wildcard, ".*", 2);
ZEND_ASSERT(period[0] == '.');
period[1] = '*';
period[2] = '\0';
if (NULL != (fdat = zend_hash_str_find_ptr(BG(user_filter_map), wildcard, strlen(wildcard)))) {
period = NULL;
} else {

View File

@ -239,8 +239,9 @@ PHPAPI php_stream_filter *php_stream_filter_create(const char *filtername, zval
memcpy(wildname, filtername, n+1);
period = wildname + (period - filtername);
while (period && !filter) {
*period = '\0';
strncat(wildname, ".*", 2);
ZEND_ASSERT(period[0] == '.');
period[1] = '*';
period[2] = '\0';
if (NULL != (factory = zend_hash_str_find_ptr(filter_hash, wildname, strlen(wildname)))) {
filter = factory->create_filter(filtername, filterparams, persistent);
}