Похоже, что вы создаете неопределенное поведение, используя BUFFER_SIZE
в качестве суммы для отправки, поскольку вряд ли это будет длина двух строк. Добавление второго вызова send()
может изменить расположение строк в памяти, что приведет к получаемой вами ошибке.
Должно быть:
send(newsock_fd, "No such command in history", sizeof "No such command in history", 0);
Если вы не хотите отправлять завершающий нулевой байт, вычтите 1 из sizeof
.