@@ -608,13 +608,6 @@ 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
-
618
611
/*
619
612
* Purpose: Instrument Drupal Attribute Hooks for Drupal 11.1+
620
613
*
@@ -634,10 +627,6 @@ static bool nr_drupal_hook_attribute_instrument(zval* module_handler) {
634
627
zval * module_val = NULL ;
635
628
zend_ulong key_num = 0 ;
636
629
637
- char * hook_str = NULL ;
638
- char * class_str = NULL ;
639
- char * method_str = NULL ;
640
- char * module_str = NULL ;
641
630
char * hookpath = NULL ;
642
631
643
632
hook_implementation_map = nr_php_get_zval_object_property (
@@ -651,7 +640,7 @@ static bool nr_drupal_hook_attribute_instrument(zval* module_handler) {
651
640
nrl_warning (NRL_FRAMEWORK ,
652
641
"hookImplementationsMap[hook = %s]: invalid value" ,
653
642
NRSAFESTR (ZEND_STRING_VALUE (hook_key )));
654
- NR_FREE_HOOK_MEM
643
+ nr_free ( hookpath );
655
644
return false;
656
645
}
657
646
@@ -663,41 +652,38 @@ static bool nr_drupal_hook_attribute_instrument(zval* module_handler) {
663
652
nrl_warning (NRL_FRAMEWORK ,
664
653
"hookImplementationsMap[class = %s]: invalid value" ,
665
654
NRSAFESTR (ZEND_STRING_VALUE (class_key )));
666
- NR_FREE_HOOK_MEM
655
+ nr_free ( hookpath );
667
656
return false;
668
657
}
669
658
670
659
ZEND_HASH_FOREACH_KEY_VAL (Z_ARRVAL_P (class_val ), key_num , method_key ,
671
660
module_val ) {
672
661
(void )key_num ;
673
662
674
- NR_FREE_HOOK_MEM
675
-
676
663
if ((NULL == method_key )
677
664
|| (0 == nr_php_is_zval_valid_string (module_val ))) {
678
665
nrl_warning (NRL_FRAMEWORK ,
679
666
"hookImplementationsMap[method = %s]: invalid value" ,
680
667
NRSAFESTR (ZEND_STRING_VALUE (method_key )));
681
- NR_FREE_HOOK_MEM
668
+ nr_free ( hookpath );
682
669
return false;
683
670
}
684
671
685
- hook_str = nr_strdup (ZEND_STRING_VALUE (hook_key ));
686
- class_str = nr_strdup (ZEND_STRING_VALUE (class_key ));
687
- method_str = nr_strdup (ZEND_STRING_VALUE (method_key ));
688
- module_str = nr_strdup (Z_STRVAL_P (module_val ));
689
-
690
672
if (0
691
673
== nr_stricmp (ZEND_STRING_VALUE (class_key ),
692
674
"Drupal\\Core\\Extension\\ProceduralCall" )) {
693
- hookpath = nr_formatf ("%s" , method_str );
675
+ hookpath = nr_formatf ("%s" , ZEND_STRING_VALUE ( method_key ) );
694
676
} else {
695
- hookpath = nr_formatf ("%s::%s" , class_str , method_str );
677
+ hookpath = nr_formatf ("%s::%s" , ZEND_STRING_VALUE (class_key ),
678
+ ZEND_STRING_VALUE (method_key ));
696
679
}
697
680
698
- nr_php_wrap_user_function_drupal (hookpath , nr_strlen (hookpath ),
699
- module_str , nr_strlen (module_str ),
700
- hook_str , nr_strlen (hook_str ));
681
+ nr_php_wrap_user_function_drupal (
682
+ hookpath , nr_strlen (hookpath ), Z_STRVAL_P (module_val ),
683
+ Z_STRLEN_P (module_val ), ZEND_STRING_VALUE (hook_key ),
684
+ ZEND_STRING_LEN (hook_key ));
685
+
686
+ nr_free (hookpath );
701
687
}
702
688
ZEND_HASH_FOREACH_END ();
703
689
}
@@ -708,16 +694,13 @@ static bool nr_drupal_hook_attribute_instrument(zval* module_handler) {
708
694
} else {
709
695
nrl_warning (NRL_FRAMEWORK ,
710
696
"hookImplementationsMap property not a valid array" );
711
- NR_FREE_HOOK_MEM
712
697
return false;
713
698
}
714
699
} else {
715
700
nrl_warning (NRL_FRAMEWORK , "NULL hookImplementationsMap object property" );
716
- NR_FREE_HOOK_MEM
717
701
return false;
718
702
}
719
703
720
- NR_FREE_HOOK_MEM
721
704
return true;
722
705
}
723
706
0 commit comments