L'unica possibilità che vedo, nel caso dello snippet che hai postato tu, è che in seguito alla prima chiamata venga chiamato su un elemento che è NULL, in tal caso vai in undefined behavior dato che non hai messo la return in quel percorso di codice (per cui potrebbe essere rimasto sullo stack l'ultimo valore restituito o in un registro il valore dell'if). Nel caso della versione di shodan, non è possibile che quel codice di suo ti dia quel problema, per cui probabilmente l'errore sta nel codice al contorno. Posta un SSCCE e ne riparliamo.