usb-bus: use snprintf
Avoid this warning from OpenBSD linker: LINK i386-softmmu/qemu ../usb-bus.o(.text+0x27c): In function `usb_get_fw_dev_path': /src/qemu/hw/usb-bus.c:294: warning: sprintf() is often misused, please use snprintf() Signed-off-by: Blue Swirl <blauwirbel@gmail.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
		
							parent
							
								
									ee59e6b3bf
								
							
						
					
					
						commit
						ea87e95f8f
					
				
							
								
								
									
										12
									
								
								hw/usb-bus.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								hw/usb-bus.c
									
									
									
									
									
								
							@ -298,20 +298,22 @@ static char *usb_get_fw_dev_path(DeviceState *qdev)
 | 
			
		||||
{
 | 
			
		||||
    USBDevice *dev = DO_UPCAST(USBDevice, qdev, qdev);
 | 
			
		||||
    char *fw_path, *in;
 | 
			
		||||
    int pos = 0;
 | 
			
		||||
    ssize_t pos = 0, fw_len;
 | 
			
		||||
    long nr;
 | 
			
		||||
 | 
			
		||||
    fw_path = qemu_malloc(32 + strlen(dev->port->path) * 6);
 | 
			
		||||
    fw_len = 32 + strlen(dev->port->path) * 6;
 | 
			
		||||
    fw_path = qemu_malloc(fw_len);
 | 
			
		||||
    in = dev->port->path;
 | 
			
		||||
    while (true) {
 | 
			
		||||
    while (fw_len - pos > 0) {
 | 
			
		||||
        nr = strtol(in, &in, 10);
 | 
			
		||||
        if (in[0] == '.') {
 | 
			
		||||
            /* some hub between root port and device */
 | 
			
		||||
            pos += sprintf(fw_path + pos, "hub@%ld/", nr);
 | 
			
		||||
            pos += snprintf(fw_path + pos, fw_len - pos, "hub@%ld/", nr);
 | 
			
		||||
            in++;
 | 
			
		||||
        } else {
 | 
			
		||||
            /* the device itself */
 | 
			
		||||
            pos += sprintf(fw_path + pos, "%s@%ld", qdev_fw_name(qdev), nr);
 | 
			
		||||
            pos += snprintf(fw_path + pos, fw_len - pos, "%s@%ld",
 | 
			
		||||
                            qdev_fw_name(qdev), nr);
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user