### Function

# FwupdPlugin memchk_read

since: 1.9.1

#### Declaration [src]

    gboolean
    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

#### Parameters

`bufsz`

  Type: `gsize`

  Maximum size of a buffer, typically `sizeof(buf)`.

`offset`

  Type: `gsize`

  Offset in bytes.

`n`

  Type: `gsize`

  Number of bytes.

`error`

  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.