From 8d11eeb3ade5963b4f85dc6dbc08586beec826d7 Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Tue, 16 May 2017 10:28:56 +0300 Subject: [PATCH] Fix WinAPI missuse noted in #18 by pete-johnson --- include/boost/stacktrace/detail/safe_dump_win.ipp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/boost/stacktrace/detail/safe_dump_win.ipp b/include/boost/stacktrace/detail/safe_dump_win.ipp index 2b4edab..26f0516 100644 --- a/include/boost/stacktrace/detail/safe_dump_win.ipp +++ b/include/boost/stacktrace/detail/safe_dump_win.ipp @@ -24,7 +24,11 @@ namespace boost { namespace stacktrace { namespace detail { std::size_t dump(void* fd, const native_frame_ptr_t* frames, std::size_t frames_count) BOOST_NOEXCEPT { - if (!boost::detail::winapi::WriteFile(fd, frames, static_cast(sizeof(native_frame_ptr_t) * frames_count), 0, 0)) { + boost::detail::winapi::DWORD_ written; + const boost::detail::winapi::DWORD_ bytes_to_write = static_cast( + sizeof(native_frame_ptr_t) * frames_count + ); + if (!boost::detail::winapi::WriteFile(fd, frames, bytes_to_write, &written, 0)) { return 0; }