Fix T49878: Alembic crash with long object name
Crash comes from writing to char array (ID::name) out its bound and thus overriding memory in the ID struct.
This commit is contained in:
parent
753edafcb7
commit
d3b0977a35
Notes:
blender-bot
2023-05-31 04:43:10 +02:00
Referenced by issue #49878, Alembic crash - long object name
|
@ -119,7 +119,7 @@ bool AbcCameraReader::valid() const
|
|||
|
||||
void AbcCameraReader::readObjectData(Main *bmain, float time)
|
||||
{
|
||||
Camera *bcam = static_cast<Camera *>(BKE_camera_add(bmain, "abc_camera"));
|
||||
Camera *bcam = static_cast<Camera *>(BKE_camera_add(bmain, m_data_name.c_str()));
|
||||
|
||||
ISampleSelector sample_sel(time);
|
||||
CameraSample cam_sample;
|
||||
|
@ -155,8 +155,6 @@ void AbcCameraReader::readObjectData(Main *bmain, float time)
|
|||
bcam->gpu_dof.focus_distance = cam_sample.getFocusDistance();
|
||||
bcam->gpu_dof.fstop = cam_sample.getFStop();
|
||||
|
||||
BLI_strncpy(bcam->id.name + 2, m_data_name.c_str(), m_data_name.size() + 1);
|
||||
|
||||
m_object = BKE_object_add_only_object(bmain, OB_CAMERA, m_object_name.c_str());
|
||||
m_object->data = bcam;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue