audio: fix integer overflow
Tell the compiler to do a 32bit * 32bit -> 64bit multiplication because period_ticks is a 64bit variable. The overflow occurs for audio timer periods larger than 4294967us. Fixes: be1092afa0 "audio: fix audio timer rate conversion bug" Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 8893a235-66a8-8fbe-7d95-862e29da90b1@t-online.de Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
		
							parent
							
								
									7c9eb86e67
								
							
						
					
					
						commit
						40ad46d3cc
					
				| @ -1738,7 +1738,7 @@ static AudioState *audio_init(Audiodev *dev, const char *name) | |||||||
|     if (dev->timer_period <= 0) { |     if (dev->timer_period <= 0) { | ||||||
|         s->period_ticks = 1; |         s->period_ticks = 1; | ||||||
|     } else { |     } else { | ||||||
|         s->period_ticks = dev->timer_period * SCALE_US; |         s->period_ticks = dev->timer_period * (int64_t)SCALE_US; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     e = qemu_add_vm_change_state_handler (audio_vm_change_state_handler, s); |     e = qemu_add_vm_change_state_handler (audio_vm_change_state_handler, s); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Volker Rümelin
						Volker Rümelin