summaryrefslogtreecommitdiff
path: root/src/cairo-pdf-surface.c
diff options
context:
space:
mode:
authorAdrian Johnson <ajohnson@redneon.com>2023-01-03 16:01:51 +1030
committerAdrian Johnson <ajohnson@redneon.com>2023-01-03 16:01:51 +1030
commit3d102f25c924936d660fb771b695f753debf8d44 (patch)
tree3eea1b9b16427d0826dc117536476b027c4d7435 /src/cairo-pdf-surface.c
parent6d03a186491b34745ae13a6a589799ab40fa699b (diff)
downloadcairo-3d102f25c924936d660fb771b695f753debf8d44.tar.gz
Use _cairo_strndup where appropriate
Diffstat (limited to 'src/cairo-pdf-surface.c')
-rw-r--r--src/cairo-pdf-surface.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c
index 86ee48cdc..20720e2cb 100644
--- a/src/cairo-pdf-surface.c
+++ b/src/cairo-pdf-surface.c
@@ -3535,9 +3535,10 @@ _cairo_pdf_surface_emit_ccitt_image (cairo_pdf_surface_t *surface,
return CAIRO_INT_STATUS_UNSUPPORTED;
/* ensure params_string is null terminated */
- params = malloc (ccitt_params_string_len + 1);
- memcpy (params, ccitt_params_string, ccitt_params_string_len);
- params[ccitt_params_string_len] = 0;
+ params = _cairo_strndup ((const char *)ccitt_params_string, ccitt_params_string_len);
+ if (unlikely (params == NULL))
+ return _cairo_surface_set_error (&surface->base, CAIRO_STATUS_NO_MEMORY);
+
status = _cairo_tag_parse_ccitt_params (params, &ccitt_params);
if (unlikely(status))
return source->status;