Subject: [Boost-bugs] [Boost C++ Libraries] #12051: offset_ptr<void , boost::int32_t, boost::uint64_t> is saved incorrectly on win32
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-03-11 15:44:42
#12051: offset_ptr<void , boost::int32_t, boost::uint64_t> is saved incorrectly on
win32
------------------------------+--------------------------
Reporter: anonymous | Owner: igaztanaga
Type: Bugs | Status: new
Milestone: To Be Determined | Component: interprocess
Version: Boost 1.61.0 | Severity: Problem
Keywords: |
------------------------------+--------------------------
I'm using offset_ptr<void , boost::int32_t, boost::uint64_t> to work with
one mapped file from x32 and x64 process. Binary representation of
offset_ptr is supposed to be same for 32 and 64 bit process.
In attached example I simply create mapped file and it has different
content on win32 depending on boost library version. It is offset_ptr
stored differently:
on x64:\\
f8ff ffff ffff ffff - for any version
on win32:\\
f8ff ffff ffff ffff - boost version < 1.52\\
f8ff ffff 0000 0000 - boost version >= 1.52 - this is bug\\
This behavior causes crash if I save data from x32 process and then open
it from x64 process. Luckily offset_ptr.hpp header from boost 1.51 works
in 1.60, but it's hardly a solution...
Can you guys make offset_ptr 32/64 compatible again?
Thanks,\\
Eugene
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/12051> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:19 UTC