[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCHv3 11/20] ui/vnc: simplify and avoid strncpy
From: |
Jim Meyering |
Subject: |
Re: [Qemu-devel] [PATCHv3 11/20] ui/vnc: simplify and avoid strncpy |
Date: |
Thu, 04 Oct 2012 20:56:03 +0200 |
Peter Maydell wrote:
> On 4 October 2012 12:09, Jim Meyering <address@hidden> wrote:
>> From: Jim Meyering <address@hidden>
>>
>> Don't bother with strncpy. There's no need for its zero-fill.
>> Use g_strndup in place of g_malloc+strncpy+NUL-terminate.
>>
>> Signed-off-by: Jim Meyering <address@hidden>
>> ---
>> ui/vnc-auth-sasl.c | 4 +---
>> 1 file changed, 1 insertion(+), 3 deletions(-)
>>
>> diff --git a/ui/vnc-auth-sasl.c b/ui/vnc-auth-sasl.c
>> index 8fba770..bfdcb46 100644
>> --- a/ui/vnc-auth-sasl.c
>> +++ b/ui/vnc-auth-sasl.c
>> @@ -432,9 +432,7 @@ static int protocol_client_auth_sasl_start_len(VncState
>> *vs, uint8_t *data, size
>>
>> static int protocol_client_auth_sasl_mechname(VncState *vs, uint8_t *data,
>> size_t len)
>> {
>> - char *mechname = g_malloc(len + 1);
>> - strncpy(mechname, (char*)data, len);
>> - mechname[len] = '\0';
>> + char *mechname = g_strndup((const char *) data, len);
>> VNC_DEBUG("Got client mechname '%s' check against '%s'\n",
>> mechname, vs->sasl.mechlist);
>>
>
> (Does the compiler really insist on that cast?)
Yes. Without it, I get a warning/failure when char is signed.
See below.
> Reviewed-by: Peter Maydell <address@hidden>
Thanks for the review.
ui/vnc-auth-sasl.c: In function 'protocol_client_auth_sasl_mechname':
ui/vnc-auth-sasl.c:435:5: error: pointer targets in passing argument 1 of
'g_strndup' differ in signedness [-Werror=pointer-sign]
char *mechname = g_strndup(data, len);
^
In file included from /usr/include/glib-2.0/glib.h:81:0,
from ./qemu-common.h:41,
from ui/vnc.h:30,
from ui/vnc-auth-sasl.c:25:
/usr/include/glib-2.0/glib/gstrfuncs.h:192:8: note: expected 'const gchar
*' but argument is of type 'uint8_t *'
gchar* g_strndup (const gchar *str,
^
cc1: all warnings being treated as errors
make: *** [ui/vnc-auth-sasl.o] Error 1
- [Qemu-devel] [PATCHv3 05/20] vmdk: relative_path: use pstrcpy in place of strncpy, (continued)
- [Qemu-devel] [PATCHv3 05/20] vmdk: relative_path: use pstrcpy in place of strncpy, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 06/20] hw/9pfs: avoid buffer overrun, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 04/20] sheepdog: avoid a few buffer overruns, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 07/20] lm32: avoid buffer overrun, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 10/20] linux-user: remove two unchecked uses of strdup, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 08/20] os-posix: avoid buffer overrun, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 09/20] ppc: avoid buffer overrun: use pstrcpy, not strncpy, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 12/20] bt: replace fragile snprintf use and unwarranted strncpy, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 11/20] ui/vnc: simplify and avoid strncpy, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 15/20] qemu-ga: prefer pstrcpy: consistently NUL-terminate ifreq.ifr_name, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 16/20] libcacard/vcard_emul_nss: use pstrcpy in place of strncpy, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 13/20] virtio-9p: avoid unwarranted uses of strncpy, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 14/20] vscsi: avoid unwarranted strncpy, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 20/20] doc: update HACKING wrt strncpy/pstrcpy, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 18/20] qcow2: mark this file's sole strncpy use as justified, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 19/20] hw/r2d: add comment: this strncpy use is ok, Jim Meyering, 2012/10/04
- [Qemu-devel] [PATCHv3 17/20] acpi: remove strzcpy (strncpy-identical) function; just use strncpy, Jim Meyering, 2012/10/04