diff --git a/include/msgpack/v1/fbuffer.hpp b/include/msgpack/v1/fbuffer.hpp index fd006baa..1a65f25f 100644 --- a/include/msgpack/v1/fbuffer.hpp +++ b/include/msgpack/v1/fbuffer.hpp @@ -31,6 +31,7 @@ public: { MSGPACK_ASSERT(buf || len == 0); if (!buf) return; + if (len == 0) return; if (1 != fwrite(buf, len, 1, m_file)) { throw std::runtime_error("fwrite() failed"); } diff --git a/test/buffer.cpp b/test/buffer.cpp index 90af2dcb..3dd4c2f3 100644 --- a/test/buffer.cpp +++ b/test/buffer.cpp @@ -90,6 +90,7 @@ BOOST_AUTO_TEST_CASE(fbuffer) fbuf.write("a", 1); fbuf.write("a", 1); fbuf.write("a", 1); + fbuf.write("", 0); fflush(file); rewind(file);