Opened 5 years ago

Closed 5 years ago

#331 closed ожидается проверка (задача НЕ сдана)

WW #3

Reported by: Kazakov Maksim Owned by: Egor Suvorov
Component: WW_intrusive_list Version: 2.0
Keywords: Cc:

Description


Change History (4)

comment:1 Changed 5 years ago by Egor Suvorov

Owner: changed from Egor Suvorov to Kazakov Maksim
Type: ожидается проверкаожидаются исправления

Корректность:

  1. Вы не выводите пробелы между точками на команду print.
  2. Есть UB в remove_point:
    ==16306== Invalid read of size 8
    ==16306==    at 0x400818: remove_point (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
    ==16306==    by 0x4009D9: main (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
    ==16306==  Address 0x52061f0 is 16 bytes inside a block of size 24 free'd
    ==16306==    at 0x4C2EDEB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==16306==    by 0x400813: remove_point (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
    ==16306==    by 0x4009D9: main (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
    ==16306==  Block was alloc'd at
    ==16306==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==16306==    by 0x400781: add_point (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
    ==16306==    by 0x40097F: main (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
    ==16306== 
    ==16306== Invalid read of size 8
    ==16306==    at 0x4008C6: remove_all_points (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
    ==16306==    by 0x400A2E: main (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
    ==16306==  Address 0x5205150 is 16 bytes inside a block of size 24 free'd
    ==16306==    at 0x4C2EDEB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==16306==    by 0x4008C1: remove_all_points (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
    ==16306==    by 0x400A2E: main (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
    ==16306==  Block was alloc'd at
    ==16306==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==16306==    by 0x400781: add_point (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
    ==16306==    by 0x40097F: main (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
    

comment:2 Changed 5 years ago by Kazakov Maksim

Owner: changed from Kazakov Maksim to Egor Suvorov
Version: 1.02.0

UB найти не смог... Исправил первый пункт

comment:3 Changed 5 years ago by Kazakov Maksim

Type: ожидаются исправленияожидается проверка

comment:4 Changed 5 years ago by Egor Suvorov

Resolution: задача НЕ сдана
Status: assignedclosed

К сожалению, UB фатален:

osboxes@osboxes:~/cpp2019/cpp19/kazakov.maksim/lab_03$ valgrind ./lab_03 
==23365== Memcheck, a memory error detector
==23365== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==23365== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==23365== Command: ./lab_03
==23365== 
add 1 2
exit
==23365== Invalid read of size 8
==23365==    at 0x4008F6: remove_all_points (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
==23365==    by 0x400AF7: main (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
==23365==  Address 0x5204490 is 16 bytes inside a block of size 24 free'd
==23365==    at 0x4C2EDEB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==23365==    by 0x4008F1: remove_all_points (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
==23365==    by 0x400AF7: main (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
==23365==  Block was alloc'd at
==23365==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==23365==    by 0x400781: add_point (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
==23365==    by 0x4009AF: main (in /home/osboxes/cpp2019/cpp19/kazakov.maksim/lab_03/lab_03)
==23365== 
==23365== 
==23365== HEAP SUMMARY:
==23365==     in use at exit: 0 bytes in 0 blocks
==23365==   total heap usage: 2 allocs, 2 frees, 1,048 bytes allocated
==23365== 
==23365== All heap blocks were freed -- no leaks are possible
==23365== 
==23365== For counts of detected and suppressed errors, rerun with: -v
==23365== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

По корректности получается +1 за Makefile и по стилю 0.5 за честную и относительно разумную попытку сдачи, итого 1.5.

Если хотите дорешать — смело переоткрывайте тикет в любой момент.

Note: See TracTickets for help on using tickets.