dimm фишка в том, что ниже там

dimm
фишка в том, что ниже там же написано:

      groupName2[0] = 1; // This is because the DB requires the groupname to begin with the second character in the string 
      groupName2[1] = 0;

т.е. содержательная часть groupName начинается с третьего символа, а первые два символы с кодами 0x01 и 0x00. Вот меня волнует вопрос - а не споткнется ли strlen тута (т.е. напишет, что строка "всего лишь" 2 символа)... Мы ж то не знаем 100%, что же в эту функцию передается roll
так что имхо:
groupName2 = malloc(strlen(groupName + 2) + 2);
т.е. подсчитать длину содержательной части groupName + добавить два резервных байта...