Hi,

I'm getting a crash in a Ceph test program in the following pice of code:

struct entity_addrvec_t {
  vector<entity_addr_t> v;
.....
  entity_addr_t legacy_addr() const {
    for (auto& a : v) {
      if (a.type == entity_addr_t::TYPE_LEGACY) {
        return a;
      }
    }
    return entity_addr_t();
  }
......

Where the loop is taken, even if v.size() == 0
So v content is pointing to random memory and itterating over the next pointer results in a crash.

I would expect the loop not to be executed....

--WjW

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "[email protected]"

Reply via email to