Как уже указывалось, вы пропустили выделение места для завершающего символа NUL. Но я также хотел бы отметить несколько других вещей, которые могут сделать ваш код более лаконичным.
По определению, sizeof(char)
всегда равно 1, поэтому вы можете сократить строку распределения до:
tempSides = (char*)malloc(strlen(inSides) + 1);
Другое дело, что похоже, что вы делаете для дублирования строки. Для этого есть встроенная функция:
tempSides = strdup(inSides);
Это обрабатывает получение длины, выделение правильного количества байтов и копирование данных.