strlen e puntatori a NULL

Oggi ho scoperto una cosa molto importante sulla strlen() in linguaggio C.
Utilizzo questa funzione in quasi tutte le operazioni che riguardano le stringhe, ma non mi è mai capitato un caso in cui viene richiamata passando un puntatore a NULL come parametro di ingresso.
E non intendo un puntatore ad una stringa vuota (il cui unico elemento è un carattere di NULL), ma proprio un puntatore che in effetti non punta da nessuna parte.
Mentre testavo le nuove modifiche al codice di icecast (che pubblicherò non appena saranno stabili) ottenevo una serie di Segmentation Fault, e grazie a GDB ho scoperto e risolto il problema implementando una nuova funzione:

Nel mio caso, la strlen serve per preparare una query SQL, quindi il problema di un puntatore a NULL può essere risolto considerandolo come una stringa vuota.
In ogni caso si può risolvere la cosa con un semplice if.

Anche la funzione strcpy ha un comportament simile. Alla fine ho gestito la cosa con un if a monte.