[OpenSER-Devel] null socket crash

Henning Westerholt henning.westerholt at 1und1.de
Fri Oct 12 08:36:41 CEST 2007


On Friday 12 October 2007, Juha Heinanen wrote:
> this morning i noticed a crash in lcr module.  i had added a permanent
> usrloc contact using ul_add mi function.  as result, i got into location
> table an entry where socket field had NULL value.
>
> one of things that lcr load_contacts function does is encoding of branch
> info into a string that contains among other things socket value.  it
> does socket to string conversion by calling socket_info.h function
> socket2str like this:
>
>     if (!socket2str(con->sock, at, &len)) {
> 	LM_ERR("Failed to convert socket to str\n");
> 	return 0;
>     }
>
> now if con->sock is null (0), the above socket2str call crashes
> openser.
>
> i could, of course, add a con->sock null test in lcr module before
> calling socket2str, but i feel that a more proper place for the test
> would be in socket2str function, because socket can be null and the
> function should thus be able to handle also such sockets.

Hi Juha,

you're right, there should be a test in socket2str. If the socket is null, we 
should return -1 and log a Error, like in the other datatype conversion 
functions.

Cheers,

Henning



More information about the Devel mailing list