KhronosGroup / KhronosGroup/COLLADA2GLTF
Add bounds checks for memory access to COLLADA accessors
- Dominant language
- C++
- Stars
- 573
- Forks
- 154
- PR merge metrics
- No merged PRs in 30d
Description
COLLADA2GLTF-bin.exe sometimes results in return code -1073741819.
Case 1 at cmd.exe prompt:
```
> "pathToRelease\COLLADA2GLTF-bin.exe" -i "pathToInput.dae" -o "pathToOutput.gltf" -v 2.0
Converting pathToInput.dae -> pathToOutput.gltf
> echo ReturnCode=%ERRORLEVEL%
ReturnCode=-1073741819
```
Case 2 at cmd.exe prompt:
```
> cmd /V:ON /c ""pathToRelease\COLLADA2GLTF-bin.exe" -i "pathToInput.dae" -o "pathToOutput.gltf" -v 2.0 & echo ReturnCode=!ERRORLEVEL!"
Converting pathToInput.dae -> pathToOutput.gltf
ReturnCode=-1073741819
```
Odd things are:
1) it does not always happen.
2) it happens only for certain files.
3) the probability of happening depends on how you call it. (The case 2 above is more likely to result in an error than the case 1.)
If I use PowerShell, the same thing happens:
Case 3 at PowerShell prompt:
```
> & pathToRelease\COLLADA2GLTF-bin.exe -i "pathToInput.dae" -o "pathToOutput.gltf" -v 2.0 ; Write-Host "ReturnCode=$lastExitCode"
Converting pathToInput.dae -> pathToOutput.gltf
ReturnCode=-1073741819
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the failure with the COLLADA2GLTF-bin.exe command examples and an input that triggers it. Trace the COLLADA accessor memory accesses and identify where bounds checks are missing. Done means affected inputs no longer cause the reported return code and the converter handles invalid accessor ranges safely.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100