diff options
author | Joerg Mayer <jmayer@loplof.de> | 2019-04-17 06:35:08 +0200 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2019-10-08 22:10:25 +0000 |
commit | 09d16a64abe32b5afed7b00856ccb590248f45f4 (patch) | |
tree | c0fc148e4482903293df185ba613d44c075b0fbb /epan/ftypes | |
parent | 3d7cd2ed6b6ee7cc5f663ccd551df44c28cf9fa6 (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.c | 16 |
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++; |