diff options
author | Adrian Johnson <ajohnson@redneon.com> | 2023-01-03 19:03:50 +0000 |
---|---|---|
committer | Adrian Johnson <ajohnson@redneon.com> | 2023-01-03 19:03:50 +0000 |
commit | 13a0474641232cccb15d24fa31d8c2557731665b (patch) | |
tree | ddbbf5e585470ca309445daa491803219793bcde /src/cairo-ps-surface.c | |
parent | 4e51d1536f935a788fe19cf3889499df69834827 (diff) | |
parent | 3d102f25c924936d660fb771b695f753debf8d44 (diff) | |
download | cairo-13a0474641232cccb15d24fa31d8c2557731665b.tar.gz |
Merge branch 'mingw-fixes' into 'master'
Fix mingw build failure when SVG fonts enabled
See merge request cairo/cairo!389
Diffstat (limited to 'src/cairo-ps-surface.c')
-rw-r--r-- | src/cairo-ps-surface.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c index ad7c8fb1d..8999f45d5 100644 --- a/src/cairo-ps-surface.c +++ b/src/cairo-ps-surface.c @@ -3061,9 +3061,10 @@ _cairo_ps_surface_emit_ccitt_image (cairo_ps_surface_t *surface, return CAIRO_INT_STATUS_UNSUPPORTED; /* ensure params_string is null terminated */ - ccitt_params_string = malloc (ccitt_params_data_len + 1); - memcpy (ccitt_params_string, ccitt_params_data, ccitt_params_data_len); - ccitt_params_string[ccitt_params_data_len] = 0; + ccitt_params_string = _cairo_strndup ((const char *)ccitt_params_data, ccitt_params_data_len); + if (unlikely (ccitt_params_string == NULL)) + return _cairo_surface_set_error (&surface->base, CAIRO_STATUS_NO_MEMORY); + status = _cairo_tag_parse_ccitt_params (ccitt_params_string, &ccitt_params); if (unlikely(status)) return status; @@ -3246,9 +3247,10 @@ _cairo_ps_surface_emit_eps (cairo_ps_surface_t *surface, return CAIRO_INT_STATUS_UNSUPPORTED; /* ensure params_string is null terminated */ - params_string = malloc (eps_params_string_len + 1); - memcpy (params_string, eps_params_string, eps_params_string_len); - params_string[eps_params_string_len] = 0; + params_string = _cairo_strndup ((const char *)eps_params_string, eps_params_string_len); + if (unlikely (params_string == NULL)) + return _cairo_surface_set_error (&surface->base, CAIRO_STATUS_NO_MEMORY); + status = _cairo_tag_parse_eps_params (params_string, &eps_params); if (unlikely(status)) return status; |