Change History (5)

comment:1 Changed 5 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to zhemchuzhina.elizaveta
Type: ожидается проверкаожидаются исправления

src/point_list.c:66:14: warning: passing argument 2 of ‘apply’ from incompatible pointer type [-Wincompatible-pointer-types]

apply(list, print_point, out);

Вот так делать нельзя. Даже если собирается. Кастить указатели на функции с разными сигнатурами -- прямой путь к UB

Течет память

count?

3/10

comment:2 Changed 4 years ago by zhemchuzhina.elizaveta

Owner: changed from zhemchuzhina.elizaveta to Дмитрий Свиридкин
Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:3 Changed 4 years ago by Дмитрий Свиридкин

Owner: changed from Дмитрий Свиридкин to zhemchuzhina.elizaveta
Type: ожидается проверкаожидаются исправления

0.
src/main.c:27:23: warning: implicit declaration of function ‘get_point’; did you mean ‘add_point’? [-Wimplicit-function-declaration]

point_node *p_node = get_point(node);

У вас сразу должно было все упасть из-за UB с невалидными указателями.

1.
Преобразование считанных чисел из бинарного файла некорректное. char часто бывает знаковым.

  1. количество аргументов, переданных в программу по-хорошему надо проверять.
  1. Используйте типы с фиксированным размером при работе с бинарными данными (uint8_t, int32_t и т.д.)
  1. Перепутан порядок байт.

4/10

comment:4 Changed 4 years ago by zhemchuzhina.elizaveta

Owner: changed from zhemchuzhina.elizaveta to Дмитрий Свиридкин
Type: ожидаются исправленияожидается проверка
Version: 2.03.0

Знаковый char на доп. баллы.

comment:5 Changed 4 years ago by Дмитрий Свиридкин

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

Знаковый char не про доп. баллы: Если в файле будут байты [255 255 0], char, в который вы читаете, станет отрицательным. int, в который сохраняете, станет отрицательным, а после сдвига произойдет UB.

Собственно, числа, у которых хоть один байт больше 127, у вас чистаются неверно.


7.5

Note: See TracTickets for help on using tickets.