fixed invalid pointer

This commit is contained in:
M. Scot Breitenfeld 2019-06-13 10:31:14 -05:00
parent c348d7d606
commit e5d1da0224
2 changed files with 22 additions and 8 deletions

View File

@ -232,7 +232,8 @@ CONTAINS
hdferr = 0
IF(PRESENT(name_len))THEN
name_len = INT(H5VLget_connector_name(obj_id, c_name, 0_SIZE_T), SIZE_T)
c_name(1:1)(1:1) = C_NULL_CHAR
name_len = INT(H5VLget_connector_name(obj_id, c_name, 1_SIZE_T), SIZE_T)
IF(name_len.LT.0) hdferr = H5I_INVALID_HID_F
ELSE
l = INT(LEN(name)+1,SIZE_T)

View File

@ -55,9 +55,10 @@ CONTAINS
LOGICAL :: is_registered = .FALSE.
INTEGER(hid_t) :: vol_id = 0, vol_id_out = 1
CHARACTER(LEN=64) :: name
CHARACTER(LEN=1) :: name_null
CHARACTER(LEN=6) :: name_exact
INTEGER(SIZE_T) :: name_len
INTEGER(hid_t) :: file_id
INTEGER :: cmp = -1
! The null VOL connector should not be registered at the start of the test
CALL H5VLis_connector_registered_f( "FAKE_VOL_CONNECTOR_NAME", is_registered, error)
@ -87,6 +88,22 @@ CONTAINS
CALL check("H5VLget_connector_name_f",error,total_error)
CALL VERIFY("H5VLget_connector_name_f", name, NATIVE_VOL_CONNECTOR_NAME, total_error)
CALL H5VLget_connector_name_f(file_id, name_null, error, name_len)
CALL check("H5VLget_connector_name_f",error,total_error)
CALL VERIFY("H5VLget_connector_name_f", INT(name_len), LEN_TRIM(NATIVE_VOL_CONNECTOR_NAME), total_error)
CALL H5VLget_connector_name_f(file_id, name_null, error)
CALL check("H5VLget_connector_name_f",error,total_error)
CALL VERIFY("H5VLget_connector_name_f", name_null, NATIVE_VOL_CONNECTOR_NAME(1:1), total_error)
CALL H5VLget_connector_name_f(file_id, name_exact, error, name_len)
CALL check("H5VLget_connector_name_f",error,total_error)
CALL VERIFY("H5VLget_connector_name_f", INT(name_len), LEN_TRIM(NATIVE_VOL_CONNECTOR_NAME), total_error)
CALL H5VLget_connector_name_f(file_id, name_exact, error)
CALL check("H5VLget_connector_name_f",error,total_error)
CALL VERIFY("H5VLget_connector_name_f", name_exact, NATIVE_VOL_CONNECTOR_NAME, total_error)
CALL H5Fclose_f(file_id, error)
CALL check("H5Fclose_f",error,total_error)
@ -149,19 +166,15 @@ CONTAINS
LOGICAL :: is_registered = .FALSE.
INTEGER(hid_t) :: vol_id = 0, vol_id_out = 1
CHARACTER(LEN=64) :: name
INTEGER(SIZE_T) :: name_len
INTEGER(hid_t) :: file_id
INTEGER :: cmp = -1
INTEGER(hid_t) :: fapl_id
TYPE(C_PTR) :: f_ptr
INTEGER(hid_t), TARGET :: under_fapl
CALL H5VLis_connector_registered_f( "FAKE_VOL_CONNECTOR_NAME", is_registered, error)
CALL check("H5VLis_connector_registered_f",error,total_error)
CALL VERIFY("H5VLis_connector_registered_f", is_registered, .FALSE., total_error)
! The null VOL connector should not be registered at the start of the test
CALL H5VLis_connector_registered_f( "FAKE_VOL_CONNECTOR_NAME", is_registered, error)
CALL check("H5VLis_connector_registered_f",error,total_error)