[Boost-bugs] [Boost C++ Libraries] #12051: offset_ptr<void , boost::int32_t, boost::uint64_t> is saved incorrectly on win32

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