diff -r 5bd10c0ae650 -r b54d76467040 c++/domain-socket-bridge/domain-socket-bridge.cpp --- a/c++/domain-socket-bridge/domain-socket-bridge.cpp Sun Nov 20 21:00:47 2016 +0100 +++ b/c++/domain-socket-bridge/domain-socket-bridge.cpp Mon Nov 21 22:48:29 2016 +0100 @@ -148,10 +148,11 @@ struct event_base *base = bufferevent_get_base(bev); size_t len = evbuffer_get_length(input); - char *data = (char*) malloc(len); + char *data = (char*) malloc(len + 1); + data[len] = 0; // as a string must be terminated by \0 evbuffer_copyout(input, data, len); - + //TODO: there might already be \0 in the byte stream, only the part before the first \0 will be formatted as a string string dataFormated(data); dataFormated = regex_replace(dataFormated, regex("\\n"), "\\n"); printf("%4d %8s '%s'\n", connectionId, "IN", dataFormated.c_str());