hw/9pfs: Ensure an error is reported to user if 9pfs mount tag is too long
If the 9pfs mount tag is longer than MAX_TAG_LEN bytes, rather than silently truncating the tag which will likely break the guest OS, report an immediate error and exit QEMU * hw/9pfs/virtio-9p-device.c: Report error & exit if mount tag is too long Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
This commit is contained in:
		
							parent
							
								
									ea60f31593
								
							
						
					
					
						commit
						a2f507d908
					
				@ -119,7 +119,9 @@ VirtIODevice *virtio_9p_init(DeviceState *dev, V9fsConf *conf)
 | 
				
			|||||||
    s->ctx.fs_root = g_strdup(fse->path);
 | 
					    s->ctx.fs_root = g_strdup(fse->path);
 | 
				
			||||||
    len = strlen(conf->tag);
 | 
					    len = strlen(conf->tag);
 | 
				
			||||||
    if (len > MAX_TAG_LEN) {
 | 
					    if (len > MAX_TAG_LEN) {
 | 
				
			||||||
        len = MAX_TAG_LEN;
 | 
					        fprintf(stderr, "mount tag '%s' (%d bytes) is longer than "
 | 
				
			||||||
 | 
					                "maximum (%d bytes)", conf->tag, len, MAX_TAG_LEN);
 | 
				
			||||||
 | 
					        exit(1);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    /* s->tag is non-NULL terminated string */
 | 
					    /* s->tag is non-NULL terminated string */
 | 
				
			||||||
    s->tag = g_malloc(len);
 | 
					    s->tag = g_malloc(len);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user