@@ -608,6 +608,13 @@ NR_PHP_WRAPPER(nr_drupal94_invoke_all_with_clean) {
608
608
NR_PHP_WRAPPER_END
609
609
#endif // OAPI
610
610
611
+ #define NR_FREE_HOOK_MEM \
612
+ nr_free(hook_str); \
613
+ nr_free(class_str); \
614
+ nr_free(method_str); \
615
+ nr_free(module_str); \
616
+ nr_free(hookpath);
617
+
611
618
/*
612
619
* Purpose: Instrument Drupal Attribute Hooks for Drupal 11.1+
613
620
*
@@ -644,6 +651,7 @@ static bool nr_drupal_hook_attribute_instrument(zval* module_handler) {
644
651
nrl_warning (NRL_FRAMEWORK ,
645
652
"hookImplementationsMap[hook = %s]: invalid value" ,
646
653
NRSAFESTR (ZEND_STRING_VALUE (hook_key )));
654
+ NR_FREE_HOOK_MEM
647
655
return false ;
648
656
}
649
657
@@ -655,24 +663,22 @@ static bool nr_drupal_hook_attribute_instrument(zval* module_handler) {
655
663
nrl_warning (NRL_FRAMEWORK ,
656
664
"hookImplementationsMap[class = %s]: invalid value" ,
657
665
NRSAFESTR (ZEND_STRING_VALUE (class_key )));
666
+ NR_FREE_HOOK_MEM
658
667
return false ;
659
668
}
660
669
661
670
ZEND_HASH_FOREACH_KEY_VAL (Z_ARRVAL_P (class_val ), key_num , method_key ,
662
671
module_val ) {
663
672
(void )key_num ;
664
673
665
- nr_free (hook_str );
666
- nr_free (class_str );
667
- nr_free (method_str );
668
- nr_free (module_str );
669
- nr_free (hookpath );
674
+ NR_FREE_HOOK_MEM
670
675
671
676
if ((NULL == method_key )
672
677
|| (0 == nr_php_is_zval_valid_string (module_val ))) {
673
678
nrl_warning (NRL_FRAMEWORK ,
674
679
"hookImplementationsMap[method = %s]: invalid value" ,
675
680
NRSAFESTR (ZEND_STRING_VALUE (method_key )));
681
+ NR_FREE_HOOK_MEM
676
682
return false ;
677
683
}
678
684
@@ -702,19 +708,16 @@ static bool nr_drupal_hook_attribute_instrument(zval* module_handler) {
702
708
} else {
703
709
nrl_warning (NRL_FRAMEWORK ,
704
710
"hookImplementationsMap property not a valid array" );
711
+ NR_FREE_HOOK_MEM
705
712
return false ;
706
713
}
707
714
} else {
708
715
nrl_warning (NRL_FRAMEWORK , "NULL hookImplementationsMap object property" );
716
+ NR_FREE_HOOK_MEM
709
717
return false ;
710
718
}
711
719
712
- nr_free (hook_str );
713
- nr_free (class_str );
714
- nr_free (method_str );
715
- nr_free (module_str );
716
- nr_free (hookpath );
717
-
720
+ NR_FREE_HOOK_MEM
718
721
return true ;
719
722
}
720
723
0 commit comments