1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| $ valgrind ./main
==4448== Memcheck, a memory error detector
==4448== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==4448== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
==4448== Command: ./main
==4448==
0 1 2 6 5 4 9 8 7
==4448== Invalid read of size 4
==4448== at 0x402485: bool __gnu_cxx::__ops::_Iter_less_iter::operator()<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) const (predefined_ops.h:42)
==4448== by 0x40228D: void std::__move_median_to_first<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__ops::_Iter_less_iter>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__ops::_Iter_less_iter) (stl_algo.h:81)
==4448== by 0x401D44: __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > std::__unguarded_partition_pivot<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__ops::_Iter_less_iter>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__ops::_Iter_less_iter) (stl_algo.h:1920)
==4448== by 0x4018C5: void std::__introsort_loop<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, long, __gnu_cxx::__ops::_Iter_less_iter>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, long, __gnu_cxx::__ops::_Iter_less_iter) (stl_algo.h:1952)
==4448== by 0x40148D: void std::__sort<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__ops::_Iter_less_iter>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__ops::_Iter_less_iter) (stl_algo.h:1967)
==4448== by 0x4011F4: void std::sort<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >) (stl_algo.h:4676)
==4448== by 0x400DD3: main (main.cpp:24)
==4448== Address 0x59fe044 is 4 bytes inside a block of size 12 free'd
==4448== at 0x4C29C00: operator delete(void*) (vg_replace_malloc.c:502)
==4448== by 0x401F7B: __gnu_cxx::new_allocator<int>::deallocate(int*, unsigned long) (new_allocator.h:110)
==4448== by 0x401A29: std::allocator_traits<std::allocator<int> >::deallocate(std::allocator<int>&, int*, unsigned long) (alloc_traits.h:383)
==4448== by 0x401531: std::_Vector_base<int, std::allocator<int> >::_M_deallocate(int*, unsigned long) (stl_vector.h:178)
==4448== by 0x401755: void std::vector<int, std::allocator<int> >::_M_emplace_back_aux<int>(int&&) (vector.tcc:438)
==4448== by 0x40141A: void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) (vector.tcc:101)
==4448== by 0x40112D: std::vector<int, std::allocator<int> >::push_back(int&&) (stl_vector.h:932)
==4448== by 0x400C98: main (main.cpp:14)
[...]
6 6 7 8 9 80 96 96 112
==4448==
==4448== HEAP SUMMARY:
==4448== in use at exit: 0 bytes in 0 blocks
==4448== total heap usage: 3 allocs, 3 frees, 84 bytes allocated
==4448==
==4448== All heap blocks were freed -- no leaks are possible
==4448==
==4448== For counts of detected and suppressed errors, rerun with: -v
==4448== ERROR SUMMARY: 775 errors from 32 contexts (suppressed: 3 from 3) |
Partager