But it simply that I've declared the array at 20.
Anyway, this is the old toCharArray() version, because now it is returning a String.
Here is the newest :
String IPAddress::toString()
{
char szRet[16];
sprintf(szRet,"%u.%u.%u.%u", _address.bytes[0], _address.bytes[1], _address.bytes[2], _address.bytes[3]);
return String(szRet);
}