Package: libboost-dev
Version: 1.32.0-2
Severity: normal

When a multi_array rebasing to 1 is attempted via extent_range,
a segmentation fault happens on accessing the boundary element.
Workaround: use reindex. See the snippet below.
The 1.32.0-2 was built locally from the source package.

-- Transcript of a crash:
[EMAIL PROTECTED]:$ make t-boost-multiarray-reindex1
g++ -Wall -O3 -g -ansi -pedantic-errors -MMD   t-boost-multiarray-reindex1.cpp  
 -o t-boost-multiarray-reindex1
[EMAIL PROTECTED]:$ ./t-boost-multiarray-reindex1
Segmentation fault

-- Test that causes the crash (t-boost-multiarray-reindex1.cpp):
#include <boost/multi_array.hpp>

int main()
{
        typedef boost::multi_array<float, 1> arr;

        float pi = 3.14;

#ifdef WORKAROUND
        arr a(boost::extents[ 1 ]);
        a.reindex(1);
#else
        arr a(boost::extents[ arr::extent_range(1, 1) ]);
#endif
        a[1] = pi;
        return 0;
}

-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.8-1-686
Locale: LANG=ru_RU.KOI8-R, LC_CTYPE=ru_RU.KOI8-R (charmap=KOI8-R)

Versions of packages libboost-dev depends on:
ii  libstdc++5-3.3-dev [libstdc++ 1:3.3.5-5  The GNU Standard C++ Library v3 (d

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to