mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice-common
synced 2026-01-08 13:07:17 +00:00
codegen: Check unsafe values alone
This rule remove possible integer overflows. Current code generated is not affected by these integer overflows as the computations are done using 64 bit but better safe then sorry. Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Julien Rope <jrope@redhat.com>
This commit is contained in:
parent
ea864c70d9
commit
b699221f00
@ -229,7 +229,7 @@ def write_validate_struct_function(writer, struct):
|
||||
writer.statement("return 0")
|
||||
|
||||
writer.newline()
|
||||
writer.error_check("start >= message_end")
|
||||
writer.error_check("offset >= (uintptr_t) (message_end - message_start)")
|
||||
|
||||
writer.newline()
|
||||
write_validate_container(writer, None, struct, "start", scope, True, True, False)
|
||||
@ -283,7 +283,7 @@ def write_validate_pointer_item(writer, container, item, scope, parent_scope, st
|
||||
else:
|
||||
write_validate_array_item(writer, container, array_item, scope, parent_scope, start,
|
||||
True, want_mem_size=need_mem_size, want_extra_size=False)
|
||||
writer.error_check("%s + %s > (uintptr_t) (message_end - message_start)" % (v, array_item.nw_size()))
|
||||
writer.error_check("%s > (uintptr_t) (message_end - message_start - %s)" % (array_item.nw_size(), v))
|
||||
|
||||
if want_extra_size:
|
||||
if item.member and item.member.has_attr("chunk"):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user