> 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?

ok, it can be related to the struct pack, need to check it the union works 
correct. What is the compiler ?

https://github.com/kamailio/kamailio/blob/master/src/core/ip_addr.h#L74-L80



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

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

Reply via email to