I'm afraid that the c-client developer is also going to pass the buck.
Although I don't know enough about PHP to be able to do more than guess what you passed to c-client, it's pretty clear that you gave invalid arguments (probably a null pointer) to c-client, and you were rewarded with a SEGV.
Like most other C library functions, c-client doesn't promise you a safe playground that allows you to misbehave in such ways without a error code. For example, the C library string functions -- strcmp(), strcpy(), etc. -- all will exact the same SEGV punishment to any caller that passes a null pointer.
I think that we can all agree that your PHP code was broken, and that brokenness is the ultimate cause of the SEGV. Or, put another way, if your PHP code had been properly composed you would not have gotten the SEGV.
The question is whether you are guaranteed that you will never get a SEGV even if you write broken code. c-client makes no such guarantee, and it is never going to do so. The SEGV is not a bug in c-client; it is a bug in how c-client was called by the application.
If PHP is documented to make such a guarantee, you need to take that question up with the PHP developers. Such a guarantee would imply that PHP validates the arguments of all calls to C library routines for sanity.
-- Mark --
http://staff.washington.edu/mrc Science does not emerge from voting, party politics, or public debate. Si vis pacem, para bellum.
