libfprint: Use g_memdup2 everywhere

It's just safer when available.
This commit is contained in:
Marco Trevisan (Treviño)
2022-09-27 12:26:33 +02:00
parent 446cedbcfc
commit 171e65f73f
9 changed files with 11 additions and 9 deletions

View File

@@ -357,7 +357,7 @@ elan_cmd_cb (FpiUsbTransfer *transfer, FpDevice *dev,
if (transfer->endpoint & FPI_USB_ENDPOINT_IN) if (transfer->endpoint & FPI_USB_ENDPOINT_IN)
{ {
/* just finished receiving */ /* just finished receiving */
self->last_read = g_memdup (transfer->buffer, transfer->actual_length); self->last_read = g_memdup2 (transfer->buffer, transfer->actual_length);
elan_cmd_done (ssm); elan_cmd_done (ssm);
} }
else else

View File

@@ -509,7 +509,7 @@ create_print_from_response (FpiDeviceElanmoc *self,
return NULL; return NULL;
} }
userid = g_memdup (&buffer_in[5], userid_len); userid = g_memdup2 (&buffer_in[5], userid_len);
userid_safe = g_strndup ((const char *) &buffer_in[5], userid_len); userid_safe = g_strndup ((const char *) &buffer_in[5], userid_len);
print = fp_print_new (FP_DEVICE (self)); print = fp_print_new (FP_DEVICE (self));
uid = g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE, userid, userid_len, 1); uid = g_variant_new_fixed_array (G_VARIANT_TYPE_BYTE, userid, userid_len, 1);

View File

@@ -551,7 +551,7 @@ image_transfer_cb (FpiUsbTransfer *transfer, FpDevice *dev,
} }
else else
{ {
self->img_data = g_memdup (transfer->buffer, sizeof (struct uru4k_image)); self->img_data = g_memdup2 (transfer->buffer, sizeof (struct uru4k_image));
self->img_data_actual_length = transfer->actual_length; self->img_data_actual_length = transfer->actual_length;
fpi_ssm_next_state (ssm); fpi_ssm_next_state (ssm);
} }

View File

@@ -432,7 +432,7 @@ img_process_data (int first_block, FpDeviceVfs301 *dev, const guint8 *buf, int l
usb_send (dev, data, len, NULL); \ usb_send (dev, data, len, NULL); \
} }
#define RAW_DATA(x) g_memdup (x, sizeof (x)), sizeof (x) #define RAW_DATA(x) g_memdup2 (x, sizeof (x)), sizeof (x)
#define IS_VFS301_FP_SEQ_START(b) ((b[0] == 0x01) && (b[1] == 0xfe)) #define IS_VFS301_FP_SEQ_START(b) ((b[0] == 0x01) && (b[1] == 0xfe))

View File

@@ -20,6 +20,7 @@
#define FP_COMPONENT "image" #define FP_COMPONENT "image"
#include "fpi-compat.h"
#include "fpi-image.h" #include "fpi-image.h"
#include "fpi-log.h" #include "fpi-log.h"
@@ -295,7 +296,7 @@ fp_image_detect_minutiae_thread_func (GTask *task,
data->flags &= ~(FPI_IMAGE_H_FLIPPED | FPI_IMAGE_V_FLIPPED | FPI_IMAGE_COLORS_INVERTED); data->flags &= ~(FPI_IMAGE_H_FLIPPED | FPI_IMAGE_V_FLIPPED | FPI_IMAGE_COLORS_INVERTED);
lfsparms = g_memdup (&g_lfsparms_V2, sizeof (LFSPARMS)); lfsparms = g_memdup2 (&g_lfsparms_V2, sizeof (LFSPARMS));
lfsparms->remove_perimeter_pts = data->flags & FPI_IMAGE_PARTIAL ? TRUE : FALSE; lfsparms->remove_perimeter_pts = data->flags & FPI_IMAGE_PARTIAL ? TRUE : FALSE;
timer = g_timer_new (); timer = g_timer_new ();

View File

@@ -1181,7 +1181,7 @@ fpi_byte_reader_dup_string_utf##bits (FpiByteReader * reader, type ** str) \
*str = NULL; \ *str = NULL; \
return FALSE; \ return FALSE; \
} \ } \
*str = g_memdup (reader->data + reader->byte, size); \ *str = g_memdup2 (reader->data + reader->byte, size); \
reader->byte += size; \ reader->byte += size; \
return TRUE; \ return TRUE; \
} }

View File

@@ -22,6 +22,7 @@
#pragma once #pragma once
#include <glib.h> #include <glib.h>
#include "fpi-compat.h"
#include "fpi-byte-utils.h" #include "fpi-byte-utils.h"
G_BEGIN_DECLS G_BEGIN_DECLS
@@ -360,7 +361,7 @@ static inline guint8 *
fpi_byte_reader_dup_data_unchecked (FpiByteReader * reader, guint size) fpi_byte_reader_dup_data_unchecked (FpiByteReader * reader, guint size)
{ {
gconstpointer data = fpi_byte_reader_get_data_unchecked (reader, size); gconstpointer data = fpi_byte_reader_get_data_unchecked (reader, size);
return (guint8 *) g_memdup (data, size); return (guint8 *) g_memdup2 (data, size);
} }
/* Unchecked variants that should not be used */ /* Unchecked variants that should not be used */

View File

@@ -211,7 +211,7 @@ fpi_byte_writer_reset_and_get_data (FpiByteWriter * writer)
data = (guint8 *) writer->parent.data; data = (guint8 *) writer->parent.data;
if (!writer->owned) if (!writer->owned)
data = g_memdup (data, writer->parent.size); data = g_memdup2 (data, writer->parent.size);
writer->parent.data = NULL; writer->parent.data = NULL;
fpi_byte_writer_reset (writer); fpi_byte_writer_reset (writer);

View File

@@ -50,7 +50,7 @@ fpi_print_add_print (FpPrint *print, FpPrint *add)
g_return_if_fail (add->type == FPI_PRINT_NBIS); g_return_if_fail (add->type == FPI_PRINT_NBIS);
g_assert (add->prints->len == 1); g_assert (add->prints->len == 1);
g_ptr_array_add (print->prints, g_memdup (add->prints->pdata[0], sizeof (struct xyt_struct))); g_ptr_array_add (print->prints, g_memdup2 (add->prints->pdata[0], sizeof (struct xyt_struct)));
} }
/** /**