diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2016-11-11 14:48:21 +0100 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2016-11-11 16:17:19 +0000 |
commit | aba4d3a3a7d8c7f97290621085a8fb7a33942847 (patch) | |
tree | 28f860b160c41a3abe415ffa27e1aed02e1bbb36 | |
parent | e723a899c009a6167d8e6eaab83cd76adfa2d246 (diff) |
ftype-guid.c: fix FT_GUID filtering
g_strlcpy copies at most n-1 bytes to ensure that the string is NULL terminated.
Bug: 13121
Change-Id: I4f1677c518e65eb58b79d72052520ecce8c51722
Reviewed-on: https://code.wireshark.org/review/18743
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
-rw-r--r-- | epan/ftypes/ftype-guid.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/epan/ftypes/ftype-guid.c b/epan/ftypes/ftype-guid.c index ac5d521d2a..015799588c 100644 --- a/epan/ftypes/ftype-guid.c +++ b/epan/ftypes/ftype-guid.c @@ -61,16 +61,13 @@ get_guid(const char *s, e_guid_t *guid) } p = s; - g_strlcpy(digits, p, 8); - digits[8] = '\0'; + g_strlcpy(digits, p, 9); guid->data1 = (guint32)strtoul(digits, NULL, 16); p += 9; - g_strlcpy(digits, p, 4); - digits[4] = '\0'; + g_strlcpy(digits, p, 5); guid->data2 = (guint16)strtoul(digits, NULL, 16); p += 5; - g_strlcpy(digits, p, 4); - digits[4] = '\0'; + g_strlcpy(digits, p, 5); guid->data3 = (guint16)strtoul(digits, NULL, 16); p += 5; for (i=0; i < sizeof(guid->data4); i++) { |