loader: check get_image_size() return value
since a negative value means it errored.
hw/core/loader.c:149:9: warning: Loss of sign in implicit conversion
if (size > max_sz) {
^~~~
hw/core/loader.c:171:9: warning: Loss of sign in implicit conversion
if (size > memory_region_size(mr)) {
^~~~
Reported-by: Clang Static Analyzer
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
parent
b94b330e23
commit
2a4e2e4919
|
|
@ -146,7 +146,7 @@ int load_image_targphys_as(const char *filename,
|
||||||
int size;
|
int size;
|
||||||
|
|
||||||
size = get_image_size(filename);
|
size = get_image_size(filename);
|
||||||
if (size > max_sz) {
|
if (size < 0 || size > max_sz) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (size > 0) {
|
if (size > 0) {
|
||||||
|
|
@ -168,7 +168,7 @@ int load_image_mr(const char *filename, MemoryRegion *mr)
|
||||||
|
|
||||||
size = get_image_size(filename);
|
size = get_image_size(filename);
|
||||||
|
|
||||||
if (size > memory_region_size(mr)) {
|
if (size < 0 || size > memory_region_size(mr)) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (size > 0) {
|
if (size > 0) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue