img_convert(): Only try to free bs[] entries if bs is valid.
This allows for jumping to 'out:' consistently for error exit. Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
		
							parent
							
								
									5bdf61fdd7
								
							
						
					
					
						commit
						31ca34b8cc
					
				
							
								
								
									
										13
									
								
								qemu-img.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								qemu-img.c
									
									
									
									
									
								
							| @ -696,7 +696,8 @@ static int img_convert(int argc, char **argv) | ||||
| 
 | ||||
|     if (bs_n > 1 && out_baseimg) { | ||||
|         error("-B makes no sense when concatenating multiple input images"); | ||||
|         return 1; | ||||
|         ret = -1; | ||||
|         goto out; | ||||
|     } | ||||
|          | ||||
|     bs = qemu_mallocz(bs_n * sizeof(BlockDriverState *)); | ||||
| @ -974,12 +975,14 @@ out: | ||||
|     if (out_bs) { | ||||
|         bdrv_delete(out_bs); | ||||
|     } | ||||
|     for (bs_i = 0; bs_i < bs_n; bs_i++) { | ||||
|         if (bs[bs_i]) { | ||||
|             bdrv_delete(bs[bs_i]); | ||||
|     if (bs) { | ||||
|         for (bs_i = 0; bs_i < bs_n; bs_i++) { | ||||
|             if (bs[bs_i]) { | ||||
|                 bdrv_delete(bs[bs_i]); | ||||
|             } | ||||
|         } | ||||
|         qemu_free(bs); | ||||
|     } | ||||
|     qemu_free(bs); | ||||
|     if (ret) { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Jes Sorensen
						Jes Sorensen