• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

skypjack / entt / 1116
100%

Build:
DEFAULT BRANCH: master
Ran 25 Jan 2019 09:42PM UTC
Jobs 1
Files 25
Run time 11s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
1116

push

travis-ci

skypjack
Fix sparse_set invalid state when component constructor throws (#176)

Fix sparse_set invalid state when component constructor throws

Previously, a component's constructor that throws would cause the sparse
set to think that the entity still exists in the set. This is because the underlying
sparse set that stores the entities will have its entry added before the component
is added to the component set.

This could cause a number of invalid memory access problems such as the following:

1) Exception triggers destructor of enclosing object that then tries to remove
   the component that was just added. SparseSet<entity_t, Component>::has() will
   return true for the entity but when destroy() is called "instances" will be empty
   so instances.back() will be invalid.

2) If the exception is handled then calling get(entity) for the same entity
   identifier that initially threw the exception will give a position for that
   entity even though it was not added. This can cause an invalid memory access
   or accessing the data of a different stored component.

2241 of 2241 relevant lines covered (100.0%)

97.11 hits per line

Jobs
ID Job ID Ran Files Coverage
4 1116.4 (COMPILER=g++-7 CXXFLAGS="-O0 --coverage -fno-inline -fno-inline-small-functions -fno-default-inline") 25 Jan 2019 09:42PM UTC 0
100.0
Travis Job 1116.4
Source Files on build 1116
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #1116
  • 9f997fe1 on github
  • Prev Build on master (#1107)
  • Next Build on master (#1119)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc