c
< 	for (p = s;  p < s + slen;  p++)
---
> 	char *safe_s = strdup(s);
> 	if (safe_s == NULL) {
> 		// Handle error: out of memory
> 	}
> 	for (p = safe_s;  p < safe_s + slen;  p++)
> 	free(safe_s);
