If a single user registers more than two fingers via fprintd-enroll, all subsequent verification attempts for that user (via fprintd-verify or pam_fprintd) fail.
Running fprintd-verify in a terminal gives the following output - the crash occurs immediately after the list of fingers is printed and before the user can actually swipe their finger:
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
- #0: left-thumb
- #1: right-index-finger
- #2: left-index-finger
process [PID here]: arguments to dbus_message_iter_append_basic() were incorrect, assertion "_dbus_check_is_valid_utf8 (*string_p)" failed in file dbus-message.c line 2675.
This is normally a bug in some application using the D-Bus library.
D-Bus not built with -rdynamic so unable to print a backtrace
Aborted (core dumped)
Using libfprint/fprintd 0.5.1, dbus 1.8.0 on ArchLinux x86_64, with an AuthenTec, Inc. AES2810. I have no other fingerprint-capable computers or devices to test on.
I forgot to mention that deleting /var/lib/fprint/[user] (and then re-enrolling less than three fingers) resolves the immediate problem.
Author: Bastien Nocera <email@example.com>
Date: Tue Feb 18 18:32:48 2014 +0100
tests: Fix possible crash in fprintd-verify