[Mono-bugs] [Bug 562320] [verifier] SIGSEGV in set_stack_value on a bad assembly

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Sat Dec 12 16:32:05 EST 2009


http://bugzilla.novell.com/show_bug.cgi?id=562320

http://bugzilla.novell.com/show_bug.cgi?id=562320#c1


--- Comment #1 from Sebastien Pouliot <spouliot at novell.com> 2009-12-12 21:31:45 UTC ---
The issue is that cfg->max_stack is 0 so when the stack_init is called nothing
gets allocated for stack, making it unusable in set_stack_value. 

Setting a minimum value of 8 (default value for METHOD_HEADER_TINY_FORMAT) fix
the issue.

Index: metadata/metadata.c
===================================================================
--- metadata/metadata.c    (revision 148332)
+++ metadata/metadata.c    (working copy)
@@ -3039,7 +3039,7 @@
     }
     mh->code = code;
     mh->code_size = code_size;
-    mh->max_stack = max_stack;
+    mh->max_stack = (max_stack < 8) ? 8 : max_stack;
     mh->init_locals = init_locals;
     if (fat_flags & METHOD_HEADER_MORE_SECTS)
         parse_section_data (m, mh, (const unsigned char*)ptr);

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list