KhronosGroup / KhronosGroup/OpenCOLLADA
Major error handling bugs
- Dominant language
- C++
- Stars
- 679
- Forks
- 260
- PR merge metrics
- No merged PRs in 30d
Description
There is a function called handleFWLError() which returns true if the parsing should stop (either because of the IErrorHandler or a critical error). On most places, it's used like this though:
success = handleFWLError ( )
I.e. it does exactly the opposite.
There are also palaces like this one where the result is not handled at all:
if ( positionInput == 0 )
handleFWLError ( SaxFWLError::ERROR_DATA_NOT_VALID, "No positions, can't import!", IError::SEVERITY_CRITICAL );
mPositionsOffset = positionInput->getOffset ();
The code directly crashes of course. Tested also with the Maya importer.
Contributor guide
No contributing guide indexed for this repository
Research direction
Search the C++ codebase for all handleFWLError() call sites, starting with the parsing and Maya importer paths mentioned in the issue. Check whether each call handles the function's stop/error result consistently, including the positionInput example. Done means the affected error paths no longer continue into a crash and the parsing behavior matches the function's documented return meaning.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100