@@ -131,10 +131,11 @@ TEST_F(SerializeTest, VerifyTest) {
131131 ASSERT_TRUE (rv == 0 ) << err_msg;
132132 std::unique_ptr<char , decltype (&free)> value_ptr (value, free);
133133 EXPECT_STREQ (value, " https://demo.scitokens.org/gtest" );
134-
135134 value_ptr.reset ();
135+
136136 rv = scitoken_get_claim_string (m_read_token.get (), " doesnotexist" , &value,
137137 &err_msg);
138+ free (err_msg);
138139 EXPECT_FALSE (rv == 0 );
139140}
140141
@@ -154,6 +155,7 @@ TEST_F(SerializeTest, TestStringList) {
154155 EXPECT_STREQ (value[1 ], " group1" );
155156
156157 EXPECT_TRUE (value[2 ] == nullptr );
158+ scitoken_free_string_list (value);
157159}
158160
159161TEST_F (SerializeTest, VerifyWLCGTest) {
@@ -181,6 +183,8 @@ TEST_F(SerializeTest, VerifyWLCGTest) {
181183
182184 value_ptr.reset ();
183185 rv = scitoken_get_claim_string (m_read_token.get (), " ver" , &value, &err_msg);
186+ free (err_msg);
187+ err_msg = nullptr ;
184188 EXPECT_FALSE (rv == 0 );
185189
186190 // Accepts only a WLCG token
@@ -195,6 +199,7 @@ TEST_F(SerializeTest, VerifyWLCGTest) {
195199 SciTokenProfile::SCITOKENS_1_0);
196200 rv = scitoken_deserialize_v2 (token_value, m_read_token.get (), nullptr ,
197201 &err_msg);
202+ free (err_msg);
198203 ASSERT_FALSE (rv == 0 );
199204}
200205
@@ -223,6 +228,7 @@ TEST_F(SerializeTest, FailVerifyToken) {
223228
224229 // Should fail; we signed it with the wrong public key.
225230 rv = scitoken_deserialize_v2 (value, m_read_token.get (), nullptr , &err_msg);
231+ free (err_msg);
226232 EXPECT_FALSE (rv == 0 );
227233}
228234
@@ -254,6 +260,7 @@ TEST_F(SerializeTest, VerifyATJWTTest) {
254260 SciTokenProfile::SCITOKENS_2_0);
255261 rv = scitoken_deserialize_v2 (token_value, m_read_token.get (), nullptr ,
256262 &err_msg);
263+ free (err_msg);
257264 ASSERT_FALSE (rv == 0 );
258265}
259266
@@ -278,6 +285,7 @@ TEST_F(SerializeTest, FailVerifyATJWTTest) {
278285 SciTokenProfile::AT_JWT);
279286 rv = scitoken_deserialize_v2 (token_value, m_read_token.get (), nullptr ,
280287 &err_msg);
288+ free (err_msg);
281289 ASSERT_FALSE (rv == 0 );
282290}
283291
@@ -315,12 +323,15 @@ TEST_F(SerializeTest, EnforcerTest) {
315323 rv = scitoken_deserialize_v2 (token_value, m_read_token.get (), nullptr ,
316324 &err_msg);
317325 ASSERT_TRUE (rv == 0 ) << err_msg;
326+ free (err_msg);
318327
319328 rv = enforcer_test (enforcer, m_read_token.get (), &acl, &err_msg);
320329 ASSERT_STREQ (
321330 err_msg,
322331 " token verification failed: 'scope' claim verification failed." );
323332 ASSERT_TRUE (rv == -1 ) << err_msg;
333+ free (err_msg);
334+ enforcer_destroy (enforcer);
324335}
325336
326337TEST_F (SerializeTest, EnforcerScopeTest) {
@@ -347,6 +358,7 @@ TEST_F(SerializeTest, EnforcerScopeTest) {
347358
348359 rv = scitoken_deserialize_v2 (token_value, m_read_token.get (), nullptr ,
349360 &err_msg);
361+ free (token_value);
350362 ASSERT_TRUE (rv == 0 ) << err_msg;
351363
352364 Acl *acls;
@@ -366,6 +378,8 @@ TEST_F(SerializeTest, EnforcerScopeTest) {
366378 ASSERT_STREQ (resource, " /" );
367379 }
368380 }
381+ enforcer_acl_free (acls);
382+ enforcer_destroy (enforcer);
369383 ASSERT_TRUE (found_read);
370384 ASSERT_TRUE (found_write);
371385}
@@ -395,6 +409,7 @@ TEST_F(SerializeTest, DeserializeAsyncTest) {
395409 rv = scitoken_deserialize_continue (&scitoken, &status, &err_msg);
396410 ASSERT_TRUE (rv == 0 ) << err_msg;
397411 }
412+ scitoken_destroy (scitoken);
398413}
399414
400415TEST_F (SerializeTest, FailDeserializeAsyncTest) {
@@ -430,11 +445,15 @@ TEST_F(SerializeTest, FailDeserializeAsyncTest) {
430445 rv = scitoken_deserialize_start (value, &scitoken, nullptr , &status,
431446 &err_msg);
432447 EXPECT_FALSE (rv == 0 ) << err_msg;
448+ free (err_msg);
449+ err_msg = nullptr ;
433450
434451 // Accepts only an at+jwt token, should fail with COMPAT token
435452 while (rv == 0 && status) {
436453 rv = scitoken_deserialize_continue (&scitoken, &status, &err_msg);
437454 EXPECT_FALSE (rv == 0 ) << err_msg;
455+ free (err_msg);
456+ err_msg = nullptr ;
438457 }
439458}
440459
@@ -452,6 +471,7 @@ TEST_F(SerializeTest, ExplicitTime) {
452471
453472 rv = scitoken_deserialize_v2 (token_value, m_read_token.get (), nullptr ,
454473 &err_msg);
474+ free (token_value);
455475 ASSERT_TRUE (rv == 0 ) << err_msg;
456476
457477 auto enforcer = enforcer_create (" https://demo.scitokens.org/gtest" ,
@@ -461,18 +481,23 @@ TEST_F(SerializeTest, ExplicitTime) {
461481 rv = enforcer_generate_acls (enforcer, m_read_token.get (), &acls, &err_msg);
462482 ASSERT_TRUE (rv == 0 ) << err_msg;
463483 ASSERT_TRUE (acls != nullptr );
484+ enforcer_acl_free (acls);
464485
465486 enforcer_set_time (enforcer, time (NULL ), &err_msg);
466487 rv = enforcer_generate_acls (enforcer, m_read_token.get (), &acls, &err_msg);
467488 ASSERT_TRUE (rv == 0 ) << err_msg;
468489
469490 enforcer_set_time (enforcer, time (NULL ) + 100 , &err_msg);
491+ enforcer_acl_free (acls);
470492 rv = enforcer_generate_acls (enforcer, m_read_token.get (), &acls, &err_msg);
493+ free (err_msg);
494+ err_msg = nullptr ;
471495 ASSERT_FALSE (rv == 0 );
472496
473497 enforcer_set_time (enforcer, time (NULL ) - 100 , &err_msg);
474498 rv = enforcer_generate_acls (enforcer, m_read_token.get (), &acls, &err_msg);
475499 ASSERT_FALSE (rv == 0 );
500+ free (err_msg);
476501
477502 enforcer_destroy (enforcer);
478503}
@@ -554,6 +579,7 @@ TEST_F(SerializeNoKidTest, VerifyATJWTTest) {
554579 SciTokenProfile::SCITOKENS_2_0);
555580 rv = scitoken_deserialize_v2 (token_value, m_read_token.get (), nullptr ,
556581 &err_msg);
582+ free (err_msg);
557583 ASSERT_FALSE (rv == 0 );
558584}
559585
@@ -611,6 +637,7 @@ TEST_F(KeycacheTest, RefreshInvalid) {
611637 auto rv =
612638 keycache_refresh_jwks (" https://demo.scitokens.org/invalid" , &err_msg);
613639 ASSERT_FALSE (rv == 0 );
640+ free (err_msg);
614641
615642 rv = keycache_get_cached_jwks (" https://demo.scitokens.org/invalid" , &jwks,
616643 &err_msg);
@@ -703,10 +730,13 @@ TEST_F(KeycacheTest, InvalidConfigKeyTest) {
703730 std::string key = " invalid key" ;
704731 auto rv =
705732 scitoken_config_set_int (key.c_str (), new_update_interval, &err_msg);
733+ free (err_msg);
734+ err_msg = nullptr ;
706735 ASSERT_FALSE (rv == 0 );
707736
708737 const char *key2 = nullptr ;
709738 rv = scitoken_config_set_int (key2, new_update_interval, &err_msg);
739+ free (err_msg);
710740 ASSERT_FALSE (rv == 0 );
711741}
712742
@@ -740,6 +770,7 @@ TEST_F(KeycacheTest, SetInvalidUpdateTest) {
740770 std::string key = " keycache.update_interval_s" ;
741771 auto rv =
742772 scitoken_config_set_int (key.c_str (), new_update_interval, &err_msg);
773+ free (err_msg);
743774 ASSERT_FALSE (rv == 0 );
744775}
745776
@@ -749,6 +780,7 @@ TEST_F(KeycacheTest, SetInvalidExpirationTest) {
749780 std::string key = " keycache.expiration_interval_s" ;
750781 auto rv =
751782 scitoken_config_set_int (key.c_str (), new_expiration_interval, &err_msg);
783+ free (err_msg);
752784 ASSERT_FALSE (rv == 0 );
753785}
754786
0 commit comments