From 5f571a5eafb545ac8e48668d902a391b93c8f358 Mon Sep 17 00:00:00 2001 From: liangjg Date: Tue, 5 Feb 2019 21:02:26 -0500 Subject: [PATCH] fix bug when loading nuclides using capi: invalid index updating --- src/nuclide_header.F90 | 8 +++----- tests/unit_tests/test_capi.py | 1 + 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/nuclide_header.F90 b/src/nuclide_header.F90 index 78d436bdd..4308bc487 100644 --- a/src/nuclide_header.F90 +++ b/src/nuclide_header.F90 @@ -703,15 +703,13 @@ contains end function openmc_nuclide_name subroutine extend_nuclides() bind(C) - integer :: n type(Nuclide), allocatable :: new_nuclides(:) ! allocate extra space in nuclides array - n = n_nuclides - allocate(new_nuclides(n + 1)) - new_nuclides(1:n) = nuclides(:) + allocate(new_nuclides(n_nuclides + 1)) + new_nuclides(1:n_nuclides) = nuclides(:) call move_alloc(FROM=new_nuclides, TO=nuclides) - n = n + 1 + n_nuclides = n_nuclides + 1 end subroutine end module nuclide_header diff --git a/tests/unit_tests/test_capi.py b/tests/unit_tests/test_capi.py index f5185e23f..420cffc4f 100644 --- a/tests/unit_tests/test_capi.py +++ b/tests/unit_tests/test_capi.py @@ -131,6 +131,7 @@ def test_nuclide_mapping(capi_init): def test_load_nuclide(capi_init): + openmc.capi.load_nuclide('H3') openmc.capi.load_nuclide('Pu239') with pytest.raises(exc.DataError): openmc.capi.load_nuclide('Pu3')