From: Jesse Gross Date: Thu, 25 Feb 2010 14:02:26 +0000 (-0500) Subject: collectors: Check for NULL set of collectors. X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=d7676fc647aa195912bfa3c92acffda371d1e06d;p=sliver-openvswitch.git collectors: Check for NULL set of collectors. If the set of collectors for NetFlow or sFlow is empty due to an error it will cause a crash when trying to send data. Reported-by: Tetsuo NAKAGAWA --- diff --git a/ofproto/collectors.c b/ofproto/collectors.c index f7cb1dbe4..374fa8ca8 100644 --- a/ofproto/collectors.c +++ b/ofproto/collectors.c @@ -111,13 +111,15 @@ collectors_destroy(struct collectors *c) void collectors_send(const struct collectors *c, const void *payload, size_t n) { - size_t i; + if (c) { + size_t i; - for (i = 0; i < c->n_fds; i++) { - static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 5); - if (send(c->fds[i], payload, n, 0) == -1) { - VLOG_WARN_RL(&rl, "sending to collector failed: %s", - strerror(errno)); + for (i = 0; i < c->n_fds; i++) { + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 5); + if (send(c->fds[i], payload, n, 0) == -1) { + VLOG_WARN_RL(&rl, "sending to collector failed: %s", + strerror(errno)); + } } } }