Page MenuHome Accel-ppp

Падение в telnet.c когда поврежден (с мусором - нули) history файл
Closed, ResolvedPublicBUG

Description

Собирал тестовую витруалку через dd c активной рабочей (debian 10)
В результате поврежджен/заполен нулями оказался файл /var/lib/accel-ppp/history (приложил)
При запуске падает на

#1  0x000055555557425d in load_history_file () at /root/tmp/accel-ppp/accel-pppd/cli/telnet.c:738
738                     memcpy(b->buf, temp_buf, b->size);

Анализ кода показал, что прочитав 0 в буфер в дальнейшем мы перед вызовом memcpy в размер поставим -1 в строке

b->size = strlen((char *)temp_buf) - 1;

В результате это вызвало исключение в /lib/x86_64-linux-gnu/libc.so.6

Написал небольшой патчик исправляющий данное поведение.

Details

Protocol
General
Version
c8575ff09416c967aa6907b5b4e9b187d4a78d14

Event Timeline

shumbor triaged this task as Normal priority.Oct 15 2020, 11:14
shumbor created this task.
shumbor claimed this task.

Патч залит в основной код.