aboutsummaryrefslogtreecommitdiffstats
path: root/epan/ftypes
diff options
context:
space:
mode:
authorJoerg Mayer <jmayer@loplof.de>2019-04-17 06:35:08 +0200
committerGerald Combs <gerald@wireshark.org>2019-10-08 22:10:25 +0000
commit09d16a64abe32b5afed7b00856ccb590248f45f4 (patch)
treec0fc148e4482903293df185ba613d44c075b0fbb /epan/ftypes
parent3d7cd2ed6b6ee7cc5f663ccd551df44c28cf9fa6 (diff)
Get rid of some unnecessary string operations
Change-Id: I5e92ed52616dd7eb0837228abc5c3975d7f9228b Reviewed-on: https://code.wireshark.org/review/34734 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'epan/ftypes')
-rw-r--r--epan/ftypes/ftype-guid.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/epan/ftypes/ftype-guid.c b/epan/ftypes/ftype-guid.c
index 15343ea917..96fb476fb0 100644
--- a/epan/ftypes/ftype-guid.c
+++ b/epan/ftypes/ftype-guid.c
@@ -32,11 +32,12 @@ get_guid(const char *s, e_guid_t *guid)
{
size_t i, n;
const char *p;
- char digits[9];
+ char digits[3];
static const char fmt[] = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
+ const size_t fmtchars = sizeof(fmt) - 1;
- n = strlen(s);
- if (n != strlen(fmt))
+ n = strnlen(s, fmtchars);
+ if (n != fmtchars)
return FALSE;
for (i=0; i<n; i++) {
if (fmt[i] == 'X') {
@@ -49,14 +50,11 @@ get_guid(const char *s, e_guid_t *guid)
}
p = s;
- g_strlcpy(digits, p, 9);
- guid->data1 = (guint32)strtoul(digits, NULL, 16);
+ guid->data1 = (guint32)strtoul(p, NULL, 16);
p += 9;
- g_strlcpy(digits, p, 5);
- guid->data2 = (guint16)strtoul(digits, NULL, 16);
+ guid->data2 = (guint16)strtoul(p, NULL, 16);
p += 5;
- g_strlcpy(digits, p, 5);
- guid->data3 = (guint16)strtoul(digits, NULL, 16);
+ guid->data3 = (guint16)strtoul(p, NULL, 16);
p += 5;
for (i=0; i < sizeof(guid->data4); i++) {
if (*p == '-') p++;