[sr-dev] [kamailio/kamailio] redis_cmd with more than two %s insertions creates parse errors (#2456)

Daniel I Greenwald notifications at github.com
Tue Aug 25 17:12:42 CEST 2020


### Description
Add a redis_cmd() call with more than two %s insertions. Kamailio throws parse errors at startup. See below for example and log messages.

### Troubleshooting
This line works fine:
`redis_cmd("kam_redis", "SET %s %s-bar, "test_key", "foo" "r");`

This one does not:
`redis_cmd("kam_redis", "SET %s %s-%s, "test_key", "foo", "bar, "r");`

#### Reproduction
Add a line like this:
`redis_cmd("kam_redis", "SET %s %s-%s, "test_key", "foo", "bar, "r");`


#### Log Messages
```
2020-08-13T16:39:05.468806+00:00,vagrant-ubuntu-xenial-64: CRITICAL: <core> [core/cfg.y:3517]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 424, column 117: Too many arguments
2020-08-13T16:39:05.472800+00:00,vagrant-ubuntu-xenial-64: CRITICAL: <core> [core/cfg.y:3517]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 424, column 117: '('')' expected (function call)
2020-08-13T16:39:05.473289+00:00,vagrant-ubuntu-xenial-64: CRITICAL: <core> [core/cfg.y:3517]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 424, column 117: bad command: missing ';'?
2020-08-13T16:39:05.473927+00:00,vagrant-ubuntu-xenial-64: ERROR: <core> [core/cfg.y:3363]: yyparse(): function used inside params of another function: xlog
2020-08-13T16:39:05.475417+00:00,vagrant-ubuntu-xenial-64: CRITICAL: <core> [core/cfg.y:3517]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 426, column 9: use of function execution inside params not allowed`

```
### Additional Information

  * **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.2.7 (x86_64/linux)                                                                                                                                                                                          
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144 MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown 
compiled with gcc 5.4.0

```
I have confirmed the issue with the available later version packages as well.

* **Operating System**:

Ubuntu 16.04



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2456
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20200825/ac8b9f39/attachment.htm>


More information about the sr-dev mailing list