Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- libs/vkd3d-shader/trace.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/libs/vkd3d-shader/trace.c b/libs/vkd3d-shader/trace.c index 9b49ca1d..e9c462e5 100644 --- a/libs/vkd3d-shader/trace.c +++ b/libs/vkd3d-shader/trace.c @@ -1618,16 +1618,17 @@ enum vkd3d_result vkd3d_dxbc_binary_to_text(void *data, struct vkd3d_shader_code
void vkd3d_shader_trace(void *data) { - const char *p, *q; + const char *p, *q, *end; struct vkd3d_shader_code code;
if (vkd3d_dxbc_binary_to_text(data, &code) != VKD3D_OK) return;
- for (p = code.code; *p; p = q) + end = (const char *)code.code + code.size; + for (p = code.code; p < end; p = q) { - if (!(q = strstr(p, "\n"))) - q = p + strlen(p); + if (!(q = memchr(p, '\n', end - p))) + q = end; else ++q; TRACE(" %.*s", (int)(q - p), p);
Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- libs/vkd3d-shader/vkd3d_shader_main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d-shader/vkd3d_shader_main.c index 7c3885e9..664110e7 100644 --- a/libs/vkd3d-shader/vkd3d_shader_main.c +++ b/libs/vkd3d-shader/vkd3d_shader_main.c @@ -93,15 +93,15 @@ static int VKD3D_PRINTF_FUNC(2, 3) vkd3d_string_buffer_printf(struct vkd3d_strin
static void vkd3d_string_buffer_trace_(const struct vkd3d_string_buffer *buffer, const char *function) { - const char *p, *q; + const char *p, *q, *end = buffer->buffer + buffer->content_size;
if (!TRACE_ON()) return;
- for (p = buffer->buffer; *p; p = q) + for (p = buffer->buffer; p < end; p = q) { - if (!(q = strchr(p, '\n'))) - q = p + strlen(p); + if (!(q = memchr(p, '\n', end - p))) + q = end; else ++q; vkd3d_dbg_printf(VKD3D_DBG_LEVEL_TRACE, function, "%.*s", (int)(q - p), p);
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com