vl.c: Exit QEMU early if no machine is found
We check whether the variable machine is NULL or not before accessing it. If machine is NULL, exit QEMU with an error, this can avoids a segfault error. Markus Armbruster <armbru@redhat.com> adds that the segfault can be reproduced as follows: $ qemu-system-xtensa -cpu help Signed-off-by: Dunrong Huang <riegamaths@gmail.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
This commit is contained in:
		
							parent
							
								
									3d1d965297
								
							
						
					
					
						commit
						fb7c269ed6
					
				
							
								
								
									
										10
									
								
								vl.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								vl.c
									
									
									
									
									
								
							@ -3204,6 +3204,11 @@ int main(int argc, char **argv, char **envp)
 | 
			
		||||
    }
 | 
			
		||||
    loc_set_none();
 | 
			
		||||
 | 
			
		||||
    if (machine == NULL) {
 | 
			
		||||
        fprintf(stderr, "No machine found.\n");
 | 
			
		||||
        exit(1);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (machine->hw_version) {
 | 
			
		||||
        qemu_set_version(machine->hw_version);
 | 
			
		||||
    }
 | 
			
		||||
@ -3246,11 +3251,6 @@ int main(int argc, char **argv, char **envp)
 | 
			
		||||
        data_dir = CONFIG_QEMU_DATADIR;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (machine == NULL) {
 | 
			
		||||
        fprintf(stderr, "No machine found.\n");
 | 
			
		||||
        exit(1);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * Default to max_cpus = smp_cpus, in case the user doesn't
 | 
			
		||||
     * specify a max_cpus value.
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user