### Function

# GLib memdup

deprecated: 2.68 since: 2.0

#### Declaration

    gpointer
    g_memdup (
      gconstpointer mem,
      guint byte_size
    )

#### Description

Allocates `byte_size` bytes of memory, and copies `byte_size` bytes into it from `mem`. If `mem` is `NULL` it returns `NULL`.

Available since: 2.0

Deprecated since: 2.68

Use `g_memdup2()` instead, as it accepts a gsize argument for `byte_size`, avoiding the possibility of overflow in a `gsize` → `guint` conversion.

#### Parameters

`mem`

  Type: `gconstpointer`

  The memory to copy.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`byte_size`

  Type: `guint`

  The number of bytes to copy.

#### Return value

Type: `gpointer`

A pointer to the newly-allocated copy of the memory.

The caller of the function takes ownership of the data, and is responsible for freeing it.
The return value can be `NULL`.