KhronosGroup / KhronosGroup/OpenCOLLADA

Major error handling bugs

Open
#442 3 comments 0 reactions 0 assignees View on GitHub
contribution requested
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.