qcow2: fix the macro QCOW_MAX_L1_SIZE's use
QCOW_MAX_L1_SIZE's unit is byte, and l1_size's unit is l1 table entry size(8 bytes). Signed-off-by: Wen Congyang <wency@cn.fujitsu.com> Message-id: 54FFB0F1.5010307@cn.fujitsu.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
		
							parent
							
								
									2120465fbb
								
							
						
					
					
						commit
						87b86e7ef2
					
				@ -702,7 +702,7 @@ int qcow2_snapshot_load_tmp(BlockDriverState *bs,
 | 
			
		||||
    sn = &s->snapshots[snapshot_index];
 | 
			
		||||
 | 
			
		||||
    /* Allocate and read in the snapshot's L1 table */
 | 
			
		||||
    if (sn->l1_size > QCOW_MAX_L1_SIZE) {
 | 
			
		||||
    if (sn->l1_size > QCOW_MAX_L1_SIZE / sizeof(uint64_t)) {
 | 
			
		||||
        error_setg(errp, "Snapshot L1 table too large");
 | 
			
		||||
        return -EFBIG;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -742,7 +742,7 @@ static int qcow2_open(BlockDriverState *bs, QDict *options, int flags,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /* read the level 1 table */
 | 
			
		||||
    if (header.l1_size > QCOW_MAX_L1_SIZE) {
 | 
			
		||||
    if (header.l1_size > QCOW_MAX_L1_SIZE / sizeof(uint64_t)) {
 | 
			
		||||
        error_setg(errp, "Active L1 table too large");
 | 
			
		||||
        ret = -EFBIG;
 | 
			
		||||
        goto fail;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user