Function

FwupdPlugincommon_read_uint16_safe

Declaration [src]

gboolean
fu_common_read_uint16_safe (
  const guint8* buf,
  gsize bufsz,
  gsize offset,
  guint16* 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 guint16*
 

The parsed value.

 The argument will be set by the function.
 The argument can be set to NULL.
 The called function takes ownership of the data, and is responsible for freeing it.
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.