Change all g_memdup() to g_memdup2()

Using g_memdup() is dangerous due to the type of the size argument. See
https://gitlab.gnome.org/GNOME/glib/-/issues/2319 and
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1926 for details.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1637>
This commit is contained in:
Jonas Ådahl 2021-02-04 18:56:02 +01:00
parent 96d66def8c
commit 463000d04d
2 changed files with 5 additions and 4 deletions

View File

@ -29,7 +29,7 @@ variables:
LINT_LOG: "eslint-report.xml" LINT_LOG: "eslint-report.xml"
LINT_MR_LOG: "eslint-mr-report.xml" LINT_MR_LOG: "eslint-mr-report.xml"
image: registry.gitlab.gnome.org/gnome/mutter/fedora/33:x86_64-2021-01-14.0 image: registry.gitlab.gnome.org/gnome/mutter/fedora/33:x86_64-2021-02-04.1
workflow: workflow:
rules: rules:

View File

@ -278,7 +278,7 @@ blur_pixels (guchar *pixels_in,
gdouble blur, gdouble blur,
gint *width_out, gint *width_out,
gint *height_out, gint *height_out,
gint *rowstride_out) size_t *rowstride_out)
{ {
guchar *pixels_out; guchar *pixels_out;
gdouble sigma; gdouble sigma;
@ -295,7 +295,7 @@ blur_pixels (guchar *pixels_in,
*width_out = width_in; *width_out = width_in;
*height_out = height_in; *height_out = height_in;
*rowstride_out = rowstride_in; *rowstride_out = rowstride_in;
pixels_out = g_memdup (pixels_in, *rowstride_out * *height_out); pixels_out = g_memdup2 (pixels_in, *rowstride_out * *height_out);
} }
else else
{ {
@ -593,7 +593,8 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec_in,
cairo_pattern_t *dst_pattern; cairo_pattern_t *dst_pattern;
guchar *pixels_in, *pixels_out; guchar *pixels_in, *pixels_out;
gint width_in, height_in, rowstride_in; gint width_in, height_in, rowstride_in;
gint width_out, height_out, rowstride_out; gint width_out, height_out;
size_t rowstride_out;
cairo_matrix_t shadow_matrix; cairo_matrix_t shadow_matrix;
double xscale_in, yscale_in; double xscale_in, yscale_in;
int i, j; int i, j;