Files
glib/glib
Philip Withnall f8cf0b8672 gstrfuncs: Add g_memdup2() function
This will replace the existing `g_memdup()` function, which has an
unavoidable security flaw of taking its `byte_size` argument as a
`guint` rather than as a `gsize`. Most callers will expect it to be a
`gsize`, and may pass in large values which could silently be truncated,
resulting in an undersize allocation compared to what the caller
expects.

This could lead to a classic buffer overflow vulnerability for many
callers of `g_memdup()`.

`g_memdup2()`, in comparison, takes its `byte_size` as a `gsize`.

Spotted by Kevin Backhouse of GHSL.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
Helps: GHSL-2021-045
Helps: #2319
2021-02-04 14:13:03 +00:00
..
2019-01-15 15:11:43 +00:00
2021-02-04 14:13:03 +00:00
2019-08-24 19:14:05 +00:00
2017-05-24 11:58:19 +02:00
2021-01-05 21:42:59 +01:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2020-06-23 10:49:44 +01:00
2019-05-27 17:51:40 +00:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2019-01-28 15:24:06 +01:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2020-06-23 10:49:44 +01:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2020-11-17 15:50:07 +00:00
2018-01-04 22:19:30 +01:00
2019-11-25 13:09:25 +01:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2021-01-05 21:42:59 +01:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2019-03-15 21:30:22 +01:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2019-11-25 13:09:25 +01:00
2019-09-18 10:47:23 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2020-05-12 12:41:22 +01:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2021-02-03 09:47:30 +00:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2017-05-24 11:58:19 +02:00
2021-01-05 21:42:59 +01:00