Bug 75111

Summary: Verify fails if >2 fingers registered for one user
Product: libfprint Reporter: Francis Herne <mail>
Component: fprintdAssignee: libfprint-bugs
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium CC: mail
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
i915 platform: i915 features:

Description Francis Herne 2014-02-17 18:26:57 UTC
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:
   user@host$ fprintd-verify
   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.
Comment 1 Francis Herne 2014-02-17 18:31:54 UTC
I forgot to mention that deleting /var/lib/fprint/[user] (and then re-enrolling less than three fingers) resolves the immediate problem.
Comment 2 Bastien Nocera 2014-02-18 17:34:24 UTC
commit 73ed60a60d650cb60dbc429a5dbd743c2ed80791
Author: Bastien Nocera <hadess@hadess.net>
Date:   Tue Feb 18 18:32:48 2014 +0100

    tests: Fix possible crash in fprintd-verify

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.