Function

FwupdPlugincommon_read_uint32_safe

Declaration [src]

gboolean
fu_common_read_uint32_safe (
  const guint8* buf,
  gsize bufsz,
  gsize offset,
  guint32* value,
  FuEndianType endian,
  GError** error
)

Description [src]

Read a value from a buffer using a specified endian in a safe way.

You don’t need to use this function in “obviously correct” cases, nor should you use it when performance is a concern. Only us it when you’re not sure if malicious data from a device or firmware could cause memory corruption.

Available since:1.3.3

Parameters

buf const guint8*
 

Source buffer.

 The data is owned by the caller of the function.
bufsz gsize
 

Maximum size of buf, typically sizeof(buf)

offset gsize
 

Offset in bytes into buf to copy from.

value guint32*
 

The parsed value.

 The argument will be set by the function.
 The argument can be set to NULL.
endian FuEndianType
 

An endian type, e.g. G_LITTLE_ENDIAN.

error GError **
  The return location for a GError*, or NULL.

Return value

Returns: gboolean
 

TRUE if value was set, FALSE otherwise.