diff options
author | Jb Evain <jbevain@gmail.com> | 2017-06-08 02:08:08 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-08 02:08:08 +0300 |
commit | 12d938dc62f4982078afe75c1227f7cae4f97262 (patch) | |
tree | 2cbaf42b612d0ac50f02672c1b70ff2087a46688 | |
parent | b1ab5273d60761150f09aa38a9e860183dbbb656 (diff) | |
parent | 20d226adc2733cccaf051f2ba59024966e17fab1 (diff) |
Merge pull request #414 from jbevain/empty-root-namespace
Do not crash on empty import symbol
-rw-r--r-- | symbols/pdb/Mono.Cecil.Pdb/NativePdbReader.cs | 3 | ||||
-rw-r--r-- | symbols/pdb/Test/Mono.Cecil.Tests/PdbTests.cs | 7 | ||||
-rw-r--r-- | symbols/pdb/Test/Resources/assemblies/EmptyRootNamespace.dll | bin | 0 -> 7168 bytes | |||
-rw-r--r-- | symbols/pdb/Test/Resources/assemblies/EmptyRootNamespace.pdb | bin | 0 -> 19968 bytes |
4 files changed, 10 insertions, 0 deletions
diff --git a/symbols/pdb/Mono.Cecil.Pdb/NativePdbReader.cs b/symbols/pdb/Mono.Cecil.Pdb/NativePdbReader.cs index d4b45ed..b07191d 100644 --- a/symbols/pdb/Mono.Cecil.Pdb/NativePdbReader.cs +++ b/symbols/pdb/Mono.Cecil.Pdb/NativePdbReader.cs @@ -264,6 +264,9 @@ namespace Mono.Cecil.Pdb { var import = new ImportDebugInformation (); foreach (var used_namespace in scope.usedNamespaces) { + if (string.IsNullOrEmpty (used_namespace)) + continue; + ImportTarget target = null; var value = used_namespace.Substring (1); switch (used_namespace [0]) { diff --git a/symbols/pdb/Test/Mono.Cecil.Tests/PdbTests.cs b/symbols/pdb/Test/Mono.Cecil.Tests/PdbTests.cs index 10b5639..054f1f8 100644 --- a/symbols/pdb/Test/Mono.Cecil.Tests/PdbTests.cs +++ b/symbols/pdb/Test/Mono.Cecil.Tests/PdbTests.cs @@ -154,6 +154,13 @@ namespace Mono.Cecil.Tests { } [Test] + public void EmptyRootNamespace () + { + TestModule ("EmptyRootNamespace.dll", module => { + }, readOnly: Platform.OnMono, symbolReaderProvider: typeof(PdbReaderProvider), symbolWriterProvider: typeof(PdbWriterProvider)); + } + + [Test] public void LocalVariables () { TestModule ("ComplexPdb.dll", module => { diff --git a/symbols/pdb/Test/Resources/assemblies/EmptyRootNamespace.dll b/symbols/pdb/Test/Resources/assemblies/EmptyRootNamespace.dll Binary files differnew file mode 100644 index 0000000..7992af6 --- /dev/null +++ b/symbols/pdb/Test/Resources/assemblies/EmptyRootNamespace.dll diff --git a/symbols/pdb/Test/Resources/assemblies/EmptyRootNamespace.pdb b/symbols/pdb/Test/Resources/assemblies/EmptyRootNamespace.pdb Binary files differnew file mode 100644 index 0000000..9550ece --- /dev/null +++ b/symbols/pdb/Test/Resources/assemblies/EmptyRootNamespace.pdb |