--- a/gtests/ssl_gtest/tls_agent.cc
+++ b/gtests/ssl_gtest/tls_agent.cc
@@ -914,19 +914,19 @@ void TlsAgent::SendBuffer(const DataBuff
error_code_ = PR_GetError();
expect_readwrite_error_ = false;
} else {
ASSERT_EQ(buf.len(), static_cast<size_t>(rv));
}
}
void TlsAgent::ReadBytes(size_t amount) {
- uint8_t block[amount];
+ uint8_t block[16384];
- int32_t rv = PR_Read(ssl_fd(), block, sizeof(block));
+ int32_t rv = PR_Read(ssl_fd(), block, (std::min)(amount, sizeof(block)));
LOGV("ReadBytes " << rv);
int32_t err;
if (rv >= 0) {
size_t count = static_cast<size_t>(rv);
for (size_t i = 0; i < count; ++i) {
ASSERT_EQ(recv_ctr_ & 0xff, block[i]);
recv_ctr_++;