[
https://issues.apache.org/jira/browse/STDCXX-297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Sebor reassigned STDCXX-297:
-----------------------------------
Assignee: Farid Zaripov
> std::bitset constructor addressed memory beyond the object
> ----------------------------------------------------------
>
> Key: STDCXX-297
> URL: https://issues.apache.org/jira/browse/STDCXX-297
> Project: C++ Standard Library
> Issue Type: Bug
> Components: 23. Containers
> Affects Versions: 4.1.3
> Environment: All
> Reporter: Farid Zaripov
> Assigned To: Farid Zaripov
> Priority: Trivial
> Fix For: 4.2
>
>
> he program below fails:
> ------------------------------------------
> #include <cassert>
> #include <new>
> #include <bitset>
> #include <string>
> #include <cstddef>
> #include <string.h>
> int main ()
> {
> typedef std::bitset<128> BitSet;
> const std::size_t size = sizeof (BitSet);
> char buf [size + 4];
> memset (buf, '\xff', sizeof (buf));
> BitSet* btest = new (buf) BitSet (std::basic_string<int> ());
> for (std::size_t i = size; i < sizeof (buf); ++i)
> assert ('\xff' == buf [i]);
> btest->~BitSet ();
> return 0;
> }
> ------------------------------------------
> Assertion failed: '\xff' == buf [i], file test.cpp, line 19
> This application has requested the Runtime to terminate it in an unusual way.
> Please contact the application's support team for more information.
> ------------------------------------------
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.