cmdline: parse ip/ether addr, don't write in result if NULL
[libcmdline.git] / src / lib / cmdline_parse_etheraddr.c
index bd2717a..490d3e4 100644 (file)
@@ -106,7 +106,6 @@ cmdline_parse_etheraddr(__attribute__((unused)) cmdline_parse_token_hdr_t *tk,
 {
        unsigned int token_len = 0;
        char ether_str[ETHER_ADDRSTRLEN];
-       struct ether_addr *etheraddr = res;
        struct ether_addr *tmp;
 
        if (res && ressize < sizeof(struct ether_addr))
@@ -121,7 +120,8 @@ cmdline_parse_etheraddr(__attribute__((unused)) cmdline_parse_token_hdr_t *tk,
        if (tmp == NULL)
                return -1;
 
-       memcpy(&etheraddr, tmp, sizeof(etheraddr));
+       if (res != NULL)
+               memcpy(res, tmp, sizeof(struct ether_addr));
        return 0;
 }