From bdf067cdf5d70018b6d76bd0700c63a1cda442ce Mon Sep 17 00:00:00 2001 From: mikee512 Date: Fri, 23 May 2025 02:09:57 -0400 Subject: [PATCH] fix valgrind issues --- libfprint/drivers/crfpmoc/crfpmoc.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libfprint/drivers/crfpmoc/crfpmoc.c b/libfprint/drivers/crfpmoc/crfpmoc.c index 600f4156..afb65344 100644 --- a/libfprint/drivers/crfpmoc/crfpmoc.c +++ b/libfprint/drivers/crfpmoc/crfpmoc.c @@ -103,6 +103,7 @@ crfpmoc_set_print_data (FpPrint *print, gint8 template_idx, fp_dbg ("Setting print data"); g_autofree gchar *descr = NULL; + gsize descr_len = 0; GVariant *print_id_var = NULL; GVariant *fpi_data = NULL; GVariant *template_var = NULL; @@ -110,11 +111,12 @@ crfpmoc_set_print_data (FpPrint *print, gint8 template_idx, fpi_print_set_type (print, FPI_PRINT_RAW); descr = get_print_data_descriptor (print, template_idx); + descr_len = descr ? strlen (descr) : 0; fp_dbg ("template id %d, descr %p (%s)", template_idx, descr, descr ? descr : ""); print_id_var = g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE, descr, - strlen (descr), sizeof (guchar)); + descr_len, sizeof (guchar)); if (template == NULL || template_size == 0) template_var = g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE, NULL, 0, @@ -254,7 +256,8 @@ crfpmoc_ec_command (FpiDeviceCrfpMoc *self, int command, } else { - memcpy (indata, s_cmd->data, MIN (r, insize)); + if (indata != NULL) + memcpy (indata, s_cmd->data, MIN (r, insize)); if (s_cmd->result != EC_RES_SUCCESS) { fp_warn ("EC result %d (%s)", s_cmd->result,