Przeglądaj źródła

Fix php memory leak test (#4692)

Paul Yang 7 lat temu
rodzic
commit
7d1a8fff1b
2 zmienionych plików z 18 dodań i 4 usunięć
  1. 1 0
      php/ext/google/protobuf/def.c
  2. 17 4
      php/tests/memory_leak_test.php

+ 1 - 0
php/ext/google/protobuf/def.c

@@ -773,6 +773,7 @@ static size_t classname_len_max(const char *fullname,
 static bool is_reserved(const char *segment, int length) {
   bool result;
   char* lower = ALLOC_N(char, length + 1);
+  memset(lower, 0, length + 1);
   memcpy(lower, segment, length);
   int i = 0;
   while(lower[i]) {

+ 17 - 4
php/tests/memory_leak_test.php

@@ -4,11 +4,19 @@
 
 require_once('generated/NoNamespaceEnum.php');
 require_once('generated/NoNamespaceMessage.php');
-require_once('generated/NoNamespaceMessage_NestedEnum.php');
+require_once('generated/NoNamespaceMessage/NestedEnum.php');
+require_once('generated/NoNamespaceMessage/NestedMessage.php');
 require_once('generated/PrefixEmpty.php');
 require_once('generated/PrefixTestPrefix.php');
+require_once('generated/PrefixTestPrefix/PrefixNestedEnum.php');
+require_once('generated/PrefixTestPrefix/PrefixNestedMessage.php');
 require_once('generated/TestEmptyNamespace.php');
+require_once('generated/TestEmptyNamespace/NestedEnum.php');
+require_once('generated/TestEmptyNamespace/NestedMessage.php');
 require_once('generated/Bar/TestInclude.php');
+require_once('generated/Bar/TestLegacyMessage.php');
+require_once('generated/Bar/TestLegacyMessage/NestedEnum.php');
+require_once('generated/Bar/TestLegacyMessage/NestedMessage.php');
 require_once('generated/Foo/PBARRAY.php');
 require_once('generated/Foo/PBEmpty.php');
 require_once('generated/Foo/TestEnum.php');
@@ -26,12 +34,17 @@ require_once('generated/Foo/TestUnpackedMessage.php');
 require_once('generated/Foo/testLowerCaseMessage.php');
 require_once('generated/Foo/testLowerCaseEnum.php');
 require_once('generated/GPBMetadata/Proto/Test.php');
-require_once('generated/GPBMetadata/Proto/TestEmptyPhpNamespace.php');
+require_once('generated/TestEmptyPhpNamespace.php');
 require_once('generated/GPBMetadata/Proto/TestInclude.php');
-require_once('generated/GPBMetadata/Proto/TestNoNamespace.php');
-require_once('generated/GPBMetadata/Proto/TestPhpNamespace.php');
+require_once('generated/TestNoNamespace.php');
+require_once('generated/Metadata/Php/Test/TestPhpNamespace.php');
 require_once('generated/GPBMetadata/Proto/TestPrefix.php');
 require_once('generated/Php/Test/TestNamespace.php');
+require_once('generated/Php/Test/TestNamespace/PBEmpty.php');
+require_once('generated/Php/Test/TestNamespace/PBEmpty/NestedEnum.php');
+require_once('generated/Php/Test/TestNamespace/PBEmpty/NestedMessage.php');
+require_once('generated/Php/Test/TestNamespace/NestedEnum.php');
+require_once('generated/Php/Test/TestNamespace/NestedMessage.php');
 require_once('test_util.php');
 
 use Google\Protobuf\Internal\RepeatedField;