From: Francis Dupont Date: Fri, 2 Sep 2016 11:44:50 +0000 (+0200) Subject: [5004] Addressed CID 1372421 (and 1372420, 1372419) X-Git-Tag: trac5006_base~30^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a6bbd2707347dc2f7ee2937cd8ab78e52b365be;p=thirdparty%2Fkea.git [5004] Addressed CID 1372421 (and 1372420, 1372419) --- diff --git a/src/lib/config/command_mgr.cc b/src/lib/config/command_mgr.cc index 7e0d7fa9d1..1ae374e49e 100644 --- a/src/lib/config/command_mgr.cc +++ b/src/lib/config/command_mgr.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2015 Internet Systems Consortium, Inc. ("ISC") +// Copyright (C) 2015-2016 Internet Systems Consortium, Inc. ("ISC") // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -151,7 +151,8 @@ CommandMgr::commandReader(int sockfd) { try { // Try to interpret it as JSON. - cmd = Element::fromJSON(std::string(buf), true); + std::string sbuf(buf, static_cast(rval)); + cmd = Element::fromJSON(sbuf, true); // If successful, then process it as a command. rsp = CommandMgr::instance().processCommand(cmd); diff --git a/src/lib/eval/tests/token_unittest.cc b/src/lib/eval/tests/token_unittest.cc index 2fcf1c549d..f1af35db12 100644 --- a/src/lib/eval/tests/token_unittest.cc +++ b/src/lib/eval/tests/token_unittest.cc @@ -293,10 +293,10 @@ public: // Now let's add specified number of data tuples OpaqueDataTuple::LengthFieldType len = (u == Option::V4?OpaqueDataTuple::LENGTH_1_BYTE: OpaqueDataTuple::LENGTH_2_BYTES); - const char * content[] = { "alpha", "beta", "delta", "gamma", "epsilon", + const char* content[10] = { "alpha", "beta", "delta", "gamma", "epsilon", "zeta", "eta", "theta", "iota", "kappa" }; - ASSERT_TRUE(tuples_size < sizeof(content)); - for (int i = 0; i < tuples_size; i++) { + ASSERT_TRUE(tuples_size < 10); + for (unsigned i = 0; i < tuples_size; ++i) { OpaqueDataTuple tuple(len); tuple.assign(string(content[i])); if (u == Option::V4 && i == 0) { diff --git a/src/lib/util/tests/socketsession_unittest.cc b/src/lib/util/tests/socketsession_unittest.cc index 1f9f5aa9c9..aa0b7e3e8d 100644 --- a/src/lib/util/tests/socketsession_unittest.cc +++ b/src/lib/util/tests/socketsession_unittest.cc @@ -532,18 +532,18 @@ ForwardTest::checkPushAndPop(int family, int type, int protocol, // reliable. Instead we impose some reasonably large upper time limit of // blocking (normally it shouldn't even block at all; the limit is to // force the test to stop even if there's some bug and recv fails). - char recvbuf[sizeof(TEST_DATA)]; + char recvbuf[sizeof(TEST_DATA) + 1]; sockaddr_storage ss; socklen_t sa_len = sizeof(ss); if (protocol == IPPROTO_UDP) { - EXPECT_EQ(sizeof(recvbuf), - recvfrom(fwd_fd, recvbuf, sizeof(recvbuf), + EXPECT_EQ(sizeof(TEST_DATA), + recvfrom(fwd_fd, recvbuf, sizeof(TEST_DATA), setRecvDelay(fwd_fd), convertSockAddr(&ss), &sa_len)); } else { setNonBlock(client_sock.fd, false); - EXPECT_EQ(sizeof(recvbuf), - recv(client_sock.fd, recvbuf, sizeof(recvbuf), + EXPECT_EQ(sizeof(TEST_DATA), + recv(client_sock.fd, recvbuf, sizeof(TEST_DATA), setRecvDelay(client_sock.fd))); } EXPECT_EQ(string(TEST_DATA), string(recvbuf));