mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader: Avoid reading past the end of the buffer in vkd3d_shader_trace() (Valgrind).
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
5fb9bcdd14
commit
86cf5145dc
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user