since: 1.9.1

Declaration [src]

fu_memchk_read (
  gsize bufsz,
  gsize offset,
  gsize n,
  GError** error

Description [src]

Works out if reading from a buffer is safe. Providing the buffer sizes allows us to check for buffer overflow.

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.9.1



Type: gsize

Maximum size of a buffer, typically sizeof(buf)


Type: gsize

Offset in bytes.


Type: gsize

Number of bytes.


Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will be left initialized to NULL by the function if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: gboolean

TRUE if the access is safe, FALSE otherwise.