summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Nilsson <troglobit@gmail.com>2019-09-23 09:45:49 +0200
committerTobias Klauser <tklauser@distanz.ch>2019-09-23 10:03:19 +0200
commit29fb845dfcf988110d01c141fdd490163a6f3714 (patch)
treedb16fe9b750da0932baf34d1dd87dfb66db37c0c
parentc5b1ed4446f1da55f474c3eb5196825b19a08a05 (diff)
trafgen: reset errno before calling sscanf in str2mac
When testing trafgen with the following example from the man page the error message "Failed to parse MAC address 11:22:33:44:55:66" is printed. trafgen -o lo --cpus 1 -n 3 '{ eth(da=11:22:33:44:55:66, da[0]=dinc()), tcp() }' Turns out errno was not cleared before str2mac() called sscanf(). Signed-off-by: Joachim Nilsson <troglobit@gmail.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
-rw-r--r--str.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/str.c b/str.c
index 1d3e7ac..9ab94ca 100644
--- a/str.c
+++ b/str.c
@@ -143,6 +143,7 @@ int str2mac(const char *str, uint8_t *mac, size_t len)
if (len < 6)
return -ENOSPC;
+ errno = 0;
count = sscanf(str, "%02X:%02X:%02X:%02X:%02X:%02X",
&tmp[0], &tmp[1], &tmp[2], &tmp[3], &tmp[4], &tmp[5]);