Lines 11380-11385
static void dev_create_primary_surface(RedWorker *worker, uint32_t surface_id,
Link Here
|
11380 |
spice_warn_if(((uint64_t)abs(surface.stride) * (uint64_t)surface.height) != |
11380 |
spice_warn_if(((uint64_t)abs(surface.stride) * (uint64_t)surface.height) != |
11381 |
abs(surface.stride) * surface.height); |
11381 |
abs(surface.stride) * surface.height); |
11382 |
|
11382 |
|
|
|
11383 |
/* surface can arrive from guest unchecked so make sure |
11384 |
* guest is not a malicious one and drop invalid requests |
11385 |
*/ |
11386 |
if (!red_validate_surface(surface.width, surface.height, |
11387 |
surface.stride, surface.format)) { |
11388 |
spice_warning("wrong primary surface creation request"); |
11389 |
return; |
11390 |
} |
11391 |
|
11383 |
line_0 = (uint8_t*)get_virt(&worker->mem_slots, surface.mem, |
11392 |
line_0 = (uint8_t*)get_virt(&worker->mem_slots, surface.mem, |
11384 |
surface.height * abs(surface.stride), |
11393 |
surface.height * abs(surface.stride), |
11385 |
surface.group_id, &error); |
11394 |
surface.group_id, &error); |