kravietz / pam_tacplus

TACACS+ protocol client library and PAM module in C. This PAM module support authentication, authorization (account management) and accounting (session management)performed using TACACS+ protocol designed by Cisco.
GNU Lesser General Public License v3.0
130 stars 97 forks source link

UndefinedBehaviorSanitizer #173

Closed kravietz closed 2 years ago

kravietz commented 2 years ago
expect test/bionic/test1.expect
spawn pamtester -v -I rhost=localhost test testuser1 authenticate
pamtester: invoking pam_start(test, testuser1, ...)
pamtester: performing operation - authenticate
Password:
pamtester: successfully authenticated
spawn pamtester -v -I rhost=localhost test testuser1 authenticate acct_mgmt open_session close_session
pamtester: invoking pam_start(test, testuser1, ...)
pamtester: performing operation - authenticate
Password:
pamtester: successfully authenticated
pamtester: performing operation - acct_mgmt
pamtester: account management done.
pamtester: performing operation - open_session
libtac/lib/acct_s.c:152:9: runtime error: null pointer passed as argument 2, which is declared to never be null
/usr/include/string.h:43:28: note: nonnull attribute specified here
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior libtac/lib/acct_s.c:152:9 in
pamtester: successfully opened a session
pamtester: performing operation - close_session
pamtester: session has successfully been closed.
spawn pamtester -v -I rhost=localhost test testuserN authenticate
pamtester: invoking pam_start(test, testuserN, ...)
pamtester: performing operation - authenticate
Password:
pamtester: Authentication failure
kravietz commented 2 years ago

Fixed in 1.7.0