cirrus: don't overflow CirrusVGAState->cirrus_bltbuf
This is CVE-2014-8106. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
		
							parent
							
								
									d3532a0db0
								
							
						
					
					
						commit
						bf25983345
					
				| 
						 | 
				
			
			@ -293,6 +293,10 @@ static bool blit_is_unsafe(struct CirrusVGAState *s)
 | 
			
		|||
    assert(s->cirrus_blt_width > 0);
 | 
			
		||||
    assert(s->cirrus_blt_height > 0);
 | 
			
		||||
 | 
			
		||||
    if (s->cirrus_blt_width > CIRRUS_BLTBUFSIZE) {
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (blit_region_is_unsafe(s, s->cirrus_blt_dstpitch,
 | 
			
		||||
                              s->cirrus_blt_dstaddr & s->cirrus_addr_mask)) {
 | 
			
		||||
        return true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue