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