[corlib] Don't crash when calling Evidence on AssemblyBuilder. Fixes #46739
authorMarek Safar <marek.safar@gmail.com>
Fri, 18 Nov 2016 22:37:54 +0000 (23:37 +0100)
committerMarek Safar <marek.safar@gmail.com>
Fri, 18 Nov 2016 22:44:21 +0000 (23:44 +0100)
mcs/class/corlib/Test/System.Reflection.Emit/AssemblyBuilderTest.cs
mono/metadata/image.c

index 0a06a7e4231420b0ba2c62fc047fa93ace9770f8..f59f39301876c5dcbbd4f9164c122c672937704e 100644 (file)
@@ -99,6 +99,12 @@ public class AssemblyBuilderTest
                return mb;
        }
 
+       [Test]
+       public void DefaultCtor ()
+       {
+               Assert.IsNotNull (ab.Evidence, "#1");
+       }
+
        [Test]
        [Category ("NotWorking")]
        public void ManifestModule ()
index 4fc6f218e1708a0ccc7c676f069f8743ef2f277b..0a2b5eca65c89fcbc8856a6efaae94b1a742fa0b 100644 (file)
@@ -2477,6 +2477,8 @@ mono_image_has_authenticode_entry (MonoImage *image)
 {
        MonoCLIImageInfo *iinfo = (MonoCLIImageInfo *)image->image_info;
        MonoDotNetHeader *header = &iinfo->cli_header;
+       if (!header)
+               return FALSE;
        MonoPEDirEntry *de = &header->datadir.pe_certificate_table;
        // the Authenticode "pre" (non ASN.1) header is 8 bytes long
        return ((de->rva != 0) && (de->size > 8));