d0d390d0cb6caf6ca8b6d3aa38d963f25599cab9
ctypes auto-converts c_char_p return values to Python bytes, losing the original malloc'd pointer from strdup(). When PAM called free() on the response, it hit a ctypes-internal buffer instead — segfault. Use c_void_p for PamResponse.resp and strdup restype to preserve raw pointers. Also use calloc/strdup for proper malloc'd memory that PAM can safely free(). Add try/except in auth thread so UI stays interactive on PAM errors.
Description
No description provided
Languages
Rust
97.4%
CSS
2.6%