diff --git a/lib/connection/basicserver.cpp b/lib/connection/basicserver.cpp index 59732abc0..95d855aac 100644 --- a/lib/connection/basicserver.cpp +++ b/lib/connection/basicserver.cpp @@ -132,7 +132,7 @@ bool CBasicServer::parse(bool (parse_command)(CBasicMessage::Header &rmsg, int c memset(&rmsg, 0, sizeof(rmsg)); ssize_t r = read(conn_fd, &rmsg, sizeof(rmsg)); - if (r && rmsg.version == version) + if (r == sizeof(rmsg) && rmsg.version == version) parse_another_command = parse_command(rmsg, conn_fd); else printf("[%s] Command ignored: cmd %x version %d received - server cmd version is %d\n", name.c_str(), rmsg.cmd, rmsg.version, version); diff --git a/src/zapit/lib/zapitclient.cpp b/src/zapit/lib/zapitclient.cpp index 4fcb47c82..340a741e5 100644 --- a/src/zapit/lib/zapitclient.cpp +++ b/src/zapit/lib/zapitclient.cpp @@ -381,7 +381,7 @@ void CZapitClient::zaptoNvodSubService(const int num) /* bouquets are numbered starting at 0 */ void CZapitClient::getBouquets(BouquetList& bouquets, const bool emptyBouquetsToo, const bool utf_encoded, channelsMode mode) { - char buffer[30 + 1]; + char buffer[30]; CZapitMessages::commandGetBouquets msg; VALGRIND_PARANOIA; @@ -400,9 +400,8 @@ void CZapitClient::getBouquets(BouquetList& bouquets, const bool emptyBouquetsTo if (!utf_encoded) { - buffer[30] = (char) 0x00; - strncpy(buffer, response.name, sizeof(buffer)-1); - snprintf(response.name,sizeof(buffer)-1,"%s",ZapitTools::UTF8_to_Latin1(buffer).c_str()); + strncpy(buffer, response.name, sizeof(buffer)); + snprintf(response.name,sizeof(buffer),"%s",ZapitTools::UTF8_to_Latin1(buffer).c_str()); } bouquets.push_back(response); }