Merge branch 'avoid-NULL-pointer' into 'development'

avoid segmentation fault (null is returned if not scalar)

See merge request damask/DAMASK!551
This commit is contained in:
Sharan Roongta 2022-03-23 12:01:49 +00:00
commit ae32d7398d
2 changed files with 7 additions and 0 deletions

View File

@ -498,6 +498,8 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg)
msg = 'Length mismatch'
case (710)
msg = 'Closing quotation mark missing in string'
case (711)
msg = 'Incorrect type'
!-------------------------------------------------------------------------------------------------
! errors related to the mesh solver

View File

@ -1218,6 +1218,7 @@ function tList_as1dFloat(self)
item => self%first
do i = 1, self%length
scalar => item%node%asScalar()
if (.not. associated(scalar)) call IO_error(711,ext_msg='float scalar')
tList_as1dFloat(i) = scalar%asFloat()
item => item%next
end do
@ -1245,6 +1246,7 @@ function tList_as2dFloat(self)
do i=1,self%length
row => self%get(i)
row_data => row%asList()
if (.not. associated(row_data)) call IO_error(711,ext_msg='list of floats')
if (row_data%length /= size(tList_as2dFloat,2)) call IO_error(709,ext_msg='Varying number of columns')
tList_as2dFloat(i,:) = self%get_as1dFloat(i)
end do
@ -1269,6 +1271,7 @@ function tList_as1dInt(self)
item => self%first
do i = 1, self%length
scalar => item%node%asScalar()
if (.not. associated(scalar)) call IO_error(711,ext_msg='int scalar')
tList_as1dInt(i) = scalar%asInt()
item => item%next
end do
@ -1293,6 +1296,7 @@ function tList_as1dBool(self)
item => self%first
do i = 1, self%length
scalar => item%node%asScalar()
if (.not. associated(scalar)) call IO_error(711,ext_msg='bool scalar')
tList_as1dBool(i) = scalar%asBool()
item => item%next
end do
@ -1317,6 +1321,7 @@ function tList_as1dString(self)
item => self%first
do i = 1, self%length
scalar => item%node%asScalar()
if (.not. associated(scalar)) call IO_error(711,ext_msg='string scalar')
len_max = max(len_max, len_trim(scalar%asString()))
item => item%next
end do