Thank you for your input so far. All the alternatives seem to work-around the 
issue but not fulfill our needs.

We have debugged a little using `gdb`. We noticed that the value of 
`msg->rcv->bind_address->address_str` is correct before calling `do_action`. 
Afterwards, it is wrong.

Before:
```
s = "172.20.21.3"
len = 11
```

After:
```
s = "217.116.120.247"
len = 11 (sic!)
```

We took a closer look (step by step) and the problem seems to be using 
`ip_addr2a`. It returns a pointer to a local static `char[]`. This is assigned 
to the original struct of `address_str` inside of `parsing_hepv3_message`.

Later, when `ip_addr2a` is called again for xlog, then the same address is used 
again and hence the value of `address_str.s` is overwriten.

A quick look at the git history for the functions did not show any relevant 
changes to my untrained eyes.

As the jump from 5.1/5.4 (debian jessie) to 5.5/5.8 (debian bookworm) is kind 
of huge, maybe this is related to changes in the compiler?



-- 
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3835#issuecomment-2098758267
You are receiving this because you are subscribed to this thread.

Message ID: <kamailio/kamailio/issues/3835/2098758...@github.com>
_______________________________________________
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org

Reply via email to