[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 5/9] tests/libqos/usb: Clean up string interpola
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 5/9] tests/libqos/usb: Clean up string interpolation into QMP input |
Date: |
Fri, 21 Jul 2017 18:49:01 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Eric Blake <address@hidden> writes:
> On 07/21/2017 08:53 AM, Markus Armbruster wrote:
>> Leaving interpolation into JSON to qmp() is more robust than building
>> QMP input manually, as explained in the previous commit.
>>
>> The case in usb_test_hotplug() slightly more complicated: it
>
> s/()/() is/
Will fix.
>> interpolates *into* JSON values. Clean it up by building the values
>> separately, so we can again leave interpolation to qmp().
>>
>> Signed-off-by: Markus Armbruster <address@hidden>
>> ---
>> tests/libqos/usb.c | 30 ++++++++++++++----------------
>> 1 file changed, 14 insertions(+), 16 deletions(-)
>>
>> diff --git a/tests/libqos/usb.c b/tests/libqos/usb.c
>> index 0cdfaec..f88d4a6 100644
>> --- a/tests/libqos/usb.c
>> +++ b/tests/libqos/usb.c
>> @@ -40,18 +40,20 @@ void uhci_port_test(struct qhc *hc, int port, uint16_t
>> expect)
>> void usb_test_hotplug(const char *hcd_id, const int port,
>> void (*port_check)(void))
>> {
>> + char id[32];
>> + char *bus;
>> QDict *response;
>> - char *cmd;
>>
>> - cmd = g_strdup_printf("{'execute': 'device_add',"
>> - " 'arguments': {"
>> - " 'driver': 'usb-tablet',"
>> - " 'port': '%d',"
>> - " 'bus': '%s.0',"
>> - " 'id': 'usbdev%d'"
>> - "}}", port, hcd_id, port);
>> - response = qmp(cmd);
>> - g_free(cmd);
>> + sprintf(id, "usbdev%d", port);
>
> I know this fits, but do any of our compilers issue dumb warnings about
> possible buffer overflow? I guess we'll deal with that if someone
> reports a problem.
We do similar things elsewhere, just grep for sprintf.
> Reviewed-by: Eric Blake <address@hidden>
Thanks!
- [Qemu-devel] [PATCH 1/9] qtest: Avoid passing raw strings through hmp(), (continued)
- [Qemu-devel] [PATCH 1/9] qtest: Avoid passing raw strings through hmp(), Markus Armbruster, 2017/07/21
- [Qemu-devel] [PATCH 3/9] tests: Pass literal format strings directly to qmp_FOO(), Markus Armbruster, 2017/07/21
- [Qemu-devel] [PATCH 8/9] tests/libqtest: Clean up how we read the QMP greeting, Markus Armbruster, 2017/07/21
- [Qemu-devel] [PATCH 5/9] tests/libqos/usb: Clean up string interpolation into QMP input, Markus Armbruster, 2017/07/21
- [Qemu-devel] [PATCH 7/9] tests: Clean up wait for event, Markus Armbruster, 2017/07/21
- [Qemu-devel] [PATCH 2/9] qtest: Document calling conventions, Markus Armbruster, 2017/07/21
- [Qemu-devel] [PATCH 6/9] tests/libqos/pci: Clean up string interpolation into QMP input, Markus Armbruster, 2017/07/21