]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commitdiff
libcacard: replace pstrcpy() with memcpy()
authorMichael Tokarev <mjt@tls.msk.ru>
Fri, 2 May 2014 14:35:59 +0000 (18:35 +0400)
committerMichael Tokarev <mjt@tls.msk.ru>
Wed, 7 May 2014 17:00:43 +0000 (21:00 +0400)
Commit 2e679780ae86c6ca8 replaced strncpy() with pstrcpy()
in one place in libcacard.  This is a qemu-specific function,
while libcacard is a stand-alone library (or tries to be).
But since we know the exact length of the string to copy,
and know that it definitely will fit in the destination
buffer, use memcpy() instead, and null-terminate the string
after that.

An alternative is to use g_strlcpy() or strncpy(), but memcpy()
is more than adequate in this place.

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Cc: qemu-trivial@nongnu.org
Cc: Alon Levy <alevy@redhat.com>
libcacard/vcard_emul_nss.c

index ee2dfaee82a3cd230217b3d0b542a8b41cc3c499..e2b196d8c53f463df93e543d8bec4879c7b9f0d7 100644 (file)
@@ -1162,7 +1162,8 @@ vcard_emul_options(const char *args)
             NEXT_TOKEN(vname)
             NEXT_TOKEN(type_params)
             type_params_length = MIN(type_params_length, sizeof(type_str)-1);
-            pstrcpy(type_str, type_params_length, type_params);
+            memcpy(type_str, type_params, type_params_length);
+            type_str[type_params_length] = '\0';
             type = vcard_emul_type_from_string(type_str);
 
             NEXT_TOKEN(type_params)