Tra l'altro, strdup in quel codice non serve a niente, anzi, dà un memory leak...