Date: Wed, 13 Nov 1996 22:07:18 -0500 (EST) From: "Eric J. Chet" <ejc@gargoyle.bazzle.com> To: current@freebsd.org Cc: dob@nasvr1.cb.lucent.com Subject: diff.deque.h (fwd) Message-ID: <Pine.BSF.3.95.961113220412.23559A-100000@gargoyle.bazzle.com>
next in thread | raw e-mail | index | archive | help
Hello We have a bug in deque.h, I think this should be patched. Eric J. Chet - ejc@bazzle.com ---------- Forwarded message ---------- Date: Fri, 8 Nov 1996 15:45:43 -0500 From: "Dan O'Brien, 614.860.3292" <cbsky!dob@naserver1.cb.lucent.com> To: ejc@naserver1.cb.lucent.com, ejc@gargoyle.bazzle.com Subject: diff.deque.h Eric, I found the bug in FreeBSD GNU STL version of deque.h. Looks like a source file maintenance error. Here is the patch. *** deque.h.ORG Fri Nov 8 15:36:38 1996 --- deque.h Fri Nov 8 15:36:46 1996 *************** void deque<T>::allocate_at_begin() { *** 437,444 **** finish = iterator(finish.current, map + map_size / 4 + i + 1); } else { #ifdef __GNUG__ ! map_size = map_allocator_type::init_page_size(); ! map = map_allocator_type::allocate(map_size); #else *--start.node = p; start = iterator(p + __dq_buffer_size, start.node); --- 437,446 ---- finish = iterator(finish.current, map + map_size / 4 + i + 1); } else { #ifdef __GNUG__ ! // map_size = map_allocator_type::init_page_size(); ! // map = map_allocator_type::allocate(map_size); ! *--start.node = p; ! start = iterator(p + __dq_buffer_size, start.node); #else *--start.node = p; start = iterator(p + __dq_buffer_size, start.node); I'm not sure who to submit this to. Please forward it to whomever should receive this bug report. Here is a test program. It core dumps without the patch. #include <iostream.h> #include <deque.h> int main() { deque<double> a; for ( int i = 0 ; i < 8000 ; i++ ) { a.push_front( i ); } return 1; } Thanks for handling this report, Dan O'Brien
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95.961113220412.23559A-100000>