@@ -97,7 +97,7 @@ set_u64_le(uint8_t *dest, uint64_t value)
9797}
9898
9999static void
100- test_json_binary_metadata_get_blob (void )
100+ test_json_struct_metadata_get_blob (void )
101101{
102102 int ret ;
103103 char metadata [128 ];
@@ -132,7 +132,7 @@ test_json_binary_metadata_get_blob(void)
132132 memcpy (bytes + header_length , json_payload , json_length );
133133 memcpy (bytes + header_length + json_length , binary_payload , payload_length );
134134 metadata_length = (tsk_size_t ) total_length ;
135- ret = tsk_json_binary_metadata_get_blob (
135+ ret = tsk_json_struct_metadata_get_blob (
136136 metadata , metadata_length , & json , & json_buffer_length , & blob , & blob_length );
137137 CU_ASSERT_EQUAL (ret , 0 );
138138 CU_ASSERT_PTR_EQUAL (json , (const char * ) bytes + header_length );
@@ -149,7 +149,7 @@ test_json_binary_metadata_get_blob(void)
149149 CU_ASSERT_FATAL (total_length <= sizeof (metadata ));
150150 set_u64_le (bytes + 13 , (uint64_t ) payload_length );
151151 metadata_length = (tsk_size_t ) total_length ;
152- ret = tsk_json_binary_metadata_get_blob (
152+ ret = tsk_json_struct_metadata_get_blob (
153153 metadata , metadata_length , & json , & json_buffer_length , & blob , & blob_length );
154154 CU_ASSERT_EQUAL (ret , 0 );
155155 CU_ASSERT_PTR_EQUAL (json , (const char * ) bytes + header_length );
@@ -165,7 +165,7 @@ test_json_binary_metadata_get_blob(void)
165165 set_u64_le (bytes + 13 , (uint64_t ) payload_length );
166166 memcpy (bytes + header_length + json_length , empty_payload , payload_length );
167167 metadata_length = (tsk_size_t ) total_length ;
168- ret = tsk_json_binary_metadata_get_blob (
168+ ret = tsk_json_struct_metadata_get_blob (
169169 metadata , metadata_length , & json , & json_buffer_length , & blob , & blob_length );
170170 CU_ASSERT_EQUAL (ret , 0 );
171171 CU_ASSERT_PTR_EQUAL (json , (const char * ) bytes + header_length );
@@ -179,43 +179,63 @@ test_json_binary_metadata_get_blob(void)
179179 json = NULL ;
180180 json_buffer_length = 0 ;
181181 metadata_length = header_length - 1 ;
182- ret = tsk_json_binary_metadata_get_blob (
182+ ret = tsk_json_struct_metadata_get_blob (
183183 metadata , metadata_length , & json , & json_buffer_length , & blob , & blob_length );
184184 CU_ASSERT_EQUAL (ret , TSK_ERR_FILE_FORMAT );
185185
186186 metadata_length = (tsk_size_t ) total_length ;
187187 bytes [0 ] = 'X' ;
188- ret = tsk_json_binary_metadata_get_blob (
188+ ret = tsk_json_struct_metadata_get_blob (
189189 metadata , metadata_length , & json , & json_buffer_length , & blob , & blob_length );
190190 CU_ASSERT_EQUAL (ret , TSK_ERR_FILE_FORMAT );
191191 bytes [0 ] = 'J' ;
192192
193193 bytes [4 ] = 2 ;
194- ret = tsk_json_binary_metadata_get_blob (
194+ ret = tsk_json_struct_metadata_get_blob (
195195 metadata , metadata_length , & json , & json_buffer_length , & blob , & blob_length );
196196 CU_ASSERT_EQUAL (ret , TSK_ERR_FILE_VERSION_TOO_NEW );
197197 bytes [4 ] = 1 ;
198198
199199 metadata_length = (tsk_size_t )(total_length - 1 );
200- ret = tsk_json_binary_metadata_get_blob (
200+ ret = tsk_json_struct_metadata_get_blob (
201201 metadata , metadata_length , & json , & json_buffer_length , & blob , & blob_length );
202202 CU_ASSERT_EQUAL (ret , TSK_ERR_FILE_FORMAT );
203203
204- ret = tsk_json_binary_metadata_get_blob (
204+ ret = tsk_json_struct_metadata_get_blob (
205205 NULL , metadata_length , & json , & json_buffer_length , & blob , & blob_length );
206206 CU_ASSERT_EQUAL (ret , TSK_ERR_BAD_PARAM_VALUE );
207- ret = tsk_json_binary_metadata_get_blob (
207+ ret = tsk_json_struct_metadata_get_blob (
208208 metadata , metadata_length , NULL , & json_buffer_length , & blob , & blob_length );
209209 CU_ASSERT_EQUAL (ret , TSK_ERR_BAD_PARAM_VALUE );
210- ret = tsk_json_binary_metadata_get_blob (
210+ ret = tsk_json_struct_metadata_get_blob (
211211 metadata , metadata_length , & json , NULL , & blob , & blob_length );
212212 CU_ASSERT_EQUAL (ret , TSK_ERR_BAD_PARAM_VALUE );
213- ret = tsk_json_binary_metadata_get_blob (
213+ ret = tsk_json_struct_metadata_get_blob (
214214 metadata , metadata_length , & json , & json_buffer_length , NULL , & blob_length );
215215 CU_ASSERT_EQUAL (ret , TSK_ERR_BAD_PARAM_VALUE );
216- ret = tsk_json_binary_metadata_get_blob (
216+ ret = tsk_json_struct_metadata_get_blob (
217217 metadata , metadata_length , & json , & json_buffer_length , & blob , NULL );
218218 CU_ASSERT_EQUAL (ret , TSK_ERR_BAD_PARAM_VALUE );
219+
220+ memset (metadata , 0 , sizeof (metadata ));
221+ bytes [0 ] = 'J' ;
222+ bytes [1 ] = 'B' ;
223+ bytes [2 ] = 'L' ;
224+ bytes [3 ] = 'B' ;
225+ bytes [4 ] = 1 ;
226+ metadata_length = (tsk_size_t ) header_length ;
227+
228+ set_u64_le (bytes + 5 , UINT64_MAX - (uint64_t ) header_length + 1 );
229+ set_u64_le (bytes + 13 , 0 );
230+ ret = tsk_json_struct_metadata_get_blob (
231+ metadata , metadata_length , & json , & json_buffer_length , & blob , & blob_length );
232+ CU_ASSERT_EQUAL (ret , TSK_ERR_FILE_FORMAT );
233+
234+ set_u64_le (bytes + 5 , 8 );
235+ set_u64_le (bytes + 13 , UINT64_MAX - (uint64_t )(header_length + 8 ) + 1 );
236+ ret = tsk_json_struct_metadata_get_blob (
237+ metadata , metadata_length , & json , & json_buffer_length , & blob , & blob_length );
238+ CU_ASSERT_EQUAL (ret , TSK_ERR_FILE_FORMAT );
219239}
220240
221241static void
@@ -788,7 +808,7 @@ main(int argc, char **argv)
788808 { "test_strerror" , test_strerror },
789809 { "test_strerror_kastore" , test_strerror_kastore },
790810 { "test_generate_uuid" , test_generate_uuid },
791- { "test_json_binary_metadata_get_blob " , test_json_binary_metadata_get_blob },
811+ { "test_json_struct_metadata_get_blob " , test_json_struct_metadata_get_blob },
792812 { "test_double_round" , test_double_round },
793813 { "test_blkalloc" , test_blkalloc },
794814 { "test_unknown_time" , test_unknown_time },
0 commit comments