From d6336d347213eb4461c29c5382e212d441a1805d Mon Sep 17 00:00:00 2001 From: Leonardo Francisco Date: Tue, 21 Apr 2026 23:21:29 -0400 Subject: [PATCH] fix(validity): skip put_data on zero-length 'd' format in pack UBSan flags null pointer passed to memcpy when validity_pack_new is called with 'd' format, NULL data, and length 0 (e.g. cmd_get_user_storage with NULL name). --- libfprint/drivers/validity/validity_pack.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libfprint/drivers/validity/validity_pack.h b/libfprint/drivers/validity/validity_pack.h index a4856b84..19fc033b 100644 --- a/libfprint/drivers/validity/validity_pack.h +++ b/libfprint/drivers/validity/validity_pack.h @@ -63,6 +63,8 @@ validity_pack_one (FpiByteWriter *w, { const guint8 *d = va_arg (*ap, const guint8 *); gsize len = va_arg (*ap, gsize); + if (len == 0) + return TRUE; return fpi_byte_writer_put_data (w, d, len); }