### Function

# FwupdPlugin memread_uint24_safe

#### Declaration [src]

    gboolean
    fu_memread_uint24_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.8.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.