librtpkcs11ecp.so утечка памяти (memory leak)
Добрый день.
Обнаружил неочевидную утечку памяти в библиотеке librtpkcs11ecp.so.
Если в конфигурационном файле /etc/pam_pkcs11/pkcs11_eventmgr.conf в поле pkcs11_module установить библиотеку от opensc /usr/lib64/opensc-pkcs11.so, т.е.:
pkcs11_module = /usr/lib64/opensc-pkcs11.so;
и запустить
pkcs11_eventmgr nodaemon debug
то, память не копится:
[root@dev43 ~]# while true; do ps aux | grep pcscd | grep -v grep; sleep 2; done
root 964003 1.0 0.2 322772 8352 ? Ssl 13:32 0:00 /usr/sbin/pcscd --foreground --auto-exit
...
root 964003 0.0 0.2 322772 8352 ? Ssl 13:32 0:00 /usr/sbin/pcscd --foreground --auto-exit
Если же установить:
pkcs11_module = /usr/lib64/librtpkcs11ecp.so;
то, память начинает копиться:
[root@dev43 ~]# while true; do ps aux | grep pcscd | grep -v grep; sleep 2; done
root 964378 0.1 0.2 322772 11112 ? Ssl 13:34 0:00 /usr/sbin/pcscd --foreground --auto-exit
root 964378 0.2 0.2 322772 11120 ? Ssl 13:34 0:00 /usr/sbin/pcscd --foreground --auto-exit
root 964378 0.2 0.2 396504 11152 ? Ssl 13:34 0:00 /usr/sbin/pcscd --foreground --auto-exit
root 964378 0.2 0.2 396504 11180 ? Ssl 13:34 0:00 /usr/sbin/pcscd --foreground --auto-exit
root 964378 0.2 0.2 396504 11188 ? Ssl 13:34 0:00 /usr/sbin/pcscd --foreground --auto-exit
Это не зависит от ОС (проверял на ОС Синтез и на Сentos 8) и от версий других пакетов.
Версии пакетов
[root@dev43 ~]# rpm -qa | grep opensc
opensc-0.19.0-7.el8.x86_64
[root@dev43 ~]# rpm -qa | grep pcsc
pcsc-lite-1.8.25-1.el8.x86_64
pcsc-lite-ccid-1.4.29-3.el8.x86_64
pcsc-lite-libs-1.8.25-1.el8.x86_64
[root@dev43 ~]# rpm -qa | grep pam_pkcs
pam_pkcs11-0.6.11-2.el8.sz.x86_64
[root@dev43 ~]# rpm -qa | grep librt
librtpkcs11ecp-1.9.4.0-0.el8.sz.x86_64
P.S. Поправьте проверку на бота при регистрации, чтобы он не был чувствителен к регистру. Чуть мозг не сломал, когда отвечал "Среда, Пятница, Земля", а надо было с маленькой буквы писать