View Issue Details

IDProjectCategoryView StatusLast Update
0006111DarkRadiantGUIpublic13.01.2024 05:32
ReporterBikerdude Assigned Togreebo  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
PlatformPCOSWindowsOS Version10 (21H2)
Product Version3.3.0 
Target Version3.4.0Fixed in Version3.4.0 
Summary0006111: Decal textures causes DR to crash - (textures/darkmod/decals/dirt/long_drip_pattern01)
DescriptionIf you have the following decal (textures/darkmod/decals/dirt/long_drip_pattern01) applied to a patch and then press ctrl-alt-t to go into the texture tool DR will crash with no error.

I have tested other dirt decals on the same patch and DR is fine, so bizzarly only "long_drip_pattern01" this far is causing the crash.
Additional InformationThis appears to be caused by a buffer overflow when asking glGetTexImage to fill the buffer with pixel data. The texture dimensions reported by the Texture objects are non-power-of-two, so the allocated buffer size is too small - the following overrun causes heap corruption and the crash.
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Related Changesets

DarkRadiant: master 6198a263

06.10.2022 15:31

greebo


Details Diff
0006111: Determine the buffer size using glGetTexLevelParameteriv before downloading the image data Affected Issues
0006111
mod - radiant/textool/TexTool.cpp Diff File

Issue History

Date Modified Username Field Change
27.09.2022 09:35 Bikerdude New Issue
06.10.2022 14:40 greebo Status new => acknowledged
06.10.2022 15:07 greebo Status acknowledged => confirmed
06.10.2022 15:23 greebo Additional Information Updated
06.10.2022 15:23 greebo Assigned To => greebo
06.10.2022 15:23 greebo Status confirmed => assigned
06.10.2022 15:23 greebo Target Version => 3.4.0
06.10.2022 15:31 greebo Changeset attached => DarkRadiant master 6198a263
06.10.2022 15:31 greebo Status assigned => resolved
06.10.2022 15:31 greebo Resolution open => fixed
06.10.2022 15:31 greebo Fixed in Version => 3.4.0
13.01.2024 05:32 greebo Status resolved => closed