Skip to content

Segfault when reading invalid BMP data #2930

@mwestphal

Description

@mwestphal

Describe the bug
F3D added support for displaying images as texture recently, however when providing an invalid image, it can segfault

To Reproduce
Steps to reproduce the behavior:

  1. Open the file using f3d --no-config --force-reader=BMP f3d.vtp
  2. segfault/assert


Thread 1 "f3d" received signal SIGSEGV, Segmentation fault.
vtkBMPReaderUpdate2<short> (self=0x55555631bad0, data=0x555555e04130, outPtr=0x5555563d00f0) at /home/glow/dev/vtk/vtk1/src/IO/Image/vtkBMPReader.cxx:427
427               outPtr0[0] = (OT)(inPtr[2]);
(gdb) bt
#0  vtkBMPReaderUpdate2<short> (self=0x55555631bad0, data=0x555555e04130, outPtr=0x5555563d00f0) at /home/glow/dev/vtk/vtk1/src/IO/Image/vtkBMPReader.cxx:427
#1  0x00007ffff2e4c66b in vtkBMPReader::ExecuteDataWithInformation (this=0x55555631bad0, output=0x555555e04130, outInfo=0x55555631bdf0) at /home/glow/dev/vtk/vtk1/src/IO/Image/vtkBMPReader.cxx:476
#2  0x00007fffec4be741 in vtkImageAlgorithm::RequestData (this=0x55555631bad0, request=0x55555631cfa0, outputVector=0x55555631c5b0) at /home/glow/dev/vtk/vtk1/src/Common/ExecutionModel/vtkImageAlgorithm.cxx:61
#3  0x00007fffec4be7f6 in vtkImageAlgorithm::ProcessRequest (this=0x55555631bad0, request=0x55555631cfa0, inputVector=0x0, outputVector=0x55555631c5b0) at /home/glow/dev/vtk/vtk1/src/Common/ExecutionModel/vtkImageAlgorithm.cxx:83
#4  0x00007fffec4a77fa in vtkExecutive::CallAlgorithm (this=0x55555631c480, request=0x55555631cfa0, direction=1, inInfo=0x0, outInfo=0x55555631c5b0) at /home/glow/dev/vtk/vtk1/src/Common/ExecutionModel/vtkExecutive.cxx:723
#5  0x00007fffec49918d in vtkDemandDrivenPipeline::ExecuteData (this=0x55555631c480, request=0x55555631cfa0, inInfo=0x0, outInfo=0x55555631c5b0) at /home/glow/dev/vtk/vtk1/src/Common/ExecutionModel/vtkDemandDrivenPipeline.cxx:447
#6  0x00007fffec48cfd5 in vtkCompositeDataPipeline::ExecuteData (this=0x55555631c480, request=0x55555631cfa0, inInfoVec=0x0, outInfoVec=0x55555631c5b0) at /home/glow/dev/vtk/vtk1/src/Common/ExecutionModel/vtkCompositeDataPipeline.cxx:151
#7  0x00007fffec4986e5 in vtkDemandDrivenPipeline::ProcessRequest (this=0x55555631c480, request=0x55555631cfa0, inInfoVec=0x0, outInfoVec=0x55555631c5b0) at /home/glow/dev/vtk/vtk1/src/Common/ExecutionModel/vtkDemandDrivenPipeline.cxx:246
#8  0x00007fffec56c6fb in vtkStreamingDemandDrivenPipeline::ProcessRequest (this=0x55555631c480, request=0x55555631cfa0, inInfoVec=0x0, outInfoVec=0x55555631c5b0)

Expected behavior
No segfault, potentially an error.

System Information:

  • OS: Any
  • GPU and GPU driver: Any

F3D Information
Paste the content of f3d --version or f3d-console.exe --version on Windows: master

Additional context

Fix must be in VTK

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions