From c916d06403eec41a92eabf52b31102d3b7068da8 Mon Sep 17 00:00:00 2001 From: Michael Tokarev Date: Fri, 2 May 2014 18:35:59 +0400 Subject: [PATCH] libcacard: replace pstrcpy() with memcpy() 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 Cc: qemu-trivial@nongnu.org Cc: Alon Levy (cherry picked from commit a22f8f38942623dc473bf5ced5b4117b8bdf4821) --- libcacard/vcard_emul_nss.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libcacard/vcard_emul_nss.c b/libcacard/vcard_emul_nss.c index ee2dfae..e2b196d 100644 --- a/libcacard/vcard_emul_nss.c +++ b/libcacard/vcard_emul_nss.c @@ -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)