since: 1.8.2

Declaration [src]

fu_memwrite_uint8_safe (
  guint8* buf,
  gsize bufsz,
  gsize offset,
  guint8 value,
  GError** error

Description [src]

Write a value to a buffer 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.8.2



Type: guint8*

Source buffer.

The data is owned by the caller of the function.

Type: gsize

Maximum size of buf, typically sizeof(buf)


Type: gsize

Offset in bytes into buf to write to.


Type: guint8

The value to write.


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 value was written, FALSE otherwise.