String manipulation causes segmentation fault