diff options
author | Edznux <edznux@gmail.com> | 2020-10-07 00:51:31 +0200 |
---|---|---|
committer | Edznux <edznux@gmail.com> | 2020-10-07 00:51:31 +0200 |
commit | 1fd2ffaf14efb3623ae01951ae0266e0f4f553f2 (patch) | |
tree | ff424ae4aca4624edc0534aabfe69ae521b2ff62 /src | |
parent | 3e16cf5fbf111b75e53abee91cca5202715eb411 (diff) | |
download | afl++-1fd2ffaf14efb3623ae01951ae0266e0f4f553f2.tar.gz |
Fix read on undefined char*.
Diffstat (limited to 'src')
-rw-r--r-- | src/afl-fuzz-statsd.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/afl-fuzz-statsd.c b/src/afl-fuzz-statsd.c index e6640977..69cafd90 100644 --- a/src/afl-fuzz-statsd.c +++ b/src/afl-fuzz-statsd.c @@ -81,25 +81,32 @@ void statsd_setup_format(afl_state_t *afl) { - if (strcmp(afl->afl_env.afl_statsd_tags_flavor, "dogstatsd") == 0) { + if (afl->afl_env.afl_statsd_tags_flavor && + strcmp(afl->afl_env.afl_statsd_tags_flavor, "dogstatsd") == 0) { afl->statsd_tags_format = DOGSTATSD_TAGS_FORMAT; afl->statsd_metric_format = STATSD_TAGS_SUFFIX_METRICS; afl->statsd_metric_format_type = STATSD_TAGS_TYPE_SUFFIX; - } else if (strcmp(afl->afl_env.afl_statsd_tags_flavor, "librato") == 0) { + } else if (afl->afl_env.afl_statsd_tags_flavor && + + strcmp(afl->afl_env.afl_statsd_tags_flavor, "librato") == 0) { afl->statsd_tags_format = LIBRATO_TAGS_FORMAT; afl->statsd_metric_format = STATSD_TAGS_MID_METRICS; afl->statsd_metric_format_type = STATSD_TAGS_TYPE_MID; - } else if (strcmp(afl->afl_env.afl_statsd_tags_flavor, "influxdb") == 0) { + } else if (afl->afl_env.afl_statsd_tags_flavor && + + strcmp(afl->afl_env.afl_statsd_tags_flavor, "influxdb") == 0) { afl->statsd_tags_format = INFLUXDB_TAGS_FORMAT; afl->statsd_metric_format = STATSD_TAGS_MID_METRICS; afl->statsd_metric_format_type = STATSD_TAGS_TYPE_MID; - } else if (strcmp(afl->afl_env.afl_statsd_tags_flavor, "signalfx") == 0) { + } else if (afl->afl_env.afl_statsd_tags_flavor && + + strcmp(afl->afl_env.afl_statsd_tags_flavor, "signalfx") == 0) { afl->statsd_tags_format = SIGNALFX_TAGS_FORMAT; afl->statsd_metric_format = STATSD_TAGS_MID_METRICS; @@ -207,8 +214,12 @@ int statsd_send_metric(afl_state_t *afl) { int statsd_format_metric(afl_state_t *afl, char *buff, size_t bufflen) { char tags[MAX_TAG_LEN * 2] = {0}; - snprintf(tags, MAX_TAG_LEN * 2, afl->statsd_tags_format, afl->use_banner, - VERSION); + if (afl->statsd_tags_format) { + + snprintf(tags, MAX_TAG_LEN * 2, afl->statsd_tags_format, afl->use_banner, + VERSION); + + } /* Sends multiple metrics with one UDP Packet. bufflen will limit to the max safe size. |