fixed: ebusctl crashed, if size of input buffer is reached.

This commit is contained in:
Roland Jax
2014-12-29 13:30:32 +01:00
parent 5487580c02
commit da03406175
2 changed files with 12 additions and 7 deletions
+9 -3
View File
@@ -73,13 +73,19 @@ bool connect(const char* host, int port, bool once)
socket->send(message.c_str(), message.size());
if (strncasecmp(message.c_str(), "QUIT", 4) != 0 && strncasecmp(message.c_str(), "STOP", 4) != 0) {
char data[1024];
size_t datalen;
datalen = socket->recv(data, sizeof(data)-1);
data[datalen] = '\0';
do {
memset(data, 0, sizeof(data));
datalen = socket->recv(data, sizeof(data)-1);
if (data[datalen-1] != '\n')
cout << data;
} while (data[datalen-1] != '\n');
data[datalen] = '\0';
cout << data;
}
else