{"id":58,"date":"2007-04-25T20:06:00","date_gmt":"2007-04-25T18:06:00","guid":{"rendered":"http:\/\/blog.m-ri.de\/index.php\/2007\/04\/25\/bug-in-cpropertypage-und-certified-for-vista\/"},"modified":"2007-10-03T14:41:52","modified_gmt":"2007-10-03T12:41:52","slug":"bug-in-cpropertypage-und-certified-for-vista","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2007\/04\/25\/bug-in-cpropertypage-und-certified-for-vista\/","title":{"rendered":"Bug in CPropertyPage und &#8222;Certified for Vista&#8220;"},"content":{"rendered":"<p>Der von mir gemeldete Bug <a rel=\"bookmark\" href=\"http:\/\/blog.m-ri.de\/index.php\/2007\/04\/03\/bug-in-der-mfc71dll-bzgl-cpropertysheetcpropertypage\/\" title=\"Permanent Link: Bug in der MFC71.DLL bzgl. CPropertySheet\/CPropertyPage\"><font color=\"#8a3207\">Bug in der MFC71.DLL bzgl. CPropertySheet\/CPropertyPage<\/font><\/a>\u00a0f\u00fchrt dazu, dass ein Programm, dass den genannten Voraussetzungen entspricht, bei den Test f\u00fcr <em>&#8222;Certified for Vista&#8220;<\/em> durchf\u00e4llt!<\/p>\n<p>Der <a href=\"http:\/\/www.microsoft.com\/technet\/prodtechnol\/windows\/appcompatibility\/appverifier.mspx\">Application Verifier<\/a>\u00a0f\u00fchrt bei den Basic Test einen Page Boundary Check durch. Dabei werden alle Allokationen so durchgef\u00fchrt, dass sie immer am Ende einer Memory Page erfolgen. Jeder Zugriff \u00fcber die Grenze hinweg f\u00fchrt dann zu einem Crash.<\/p>\n<p>Im realen Leben ist der Crash wirklich selten, aber\u00a0mit dem <em>Application Verifier<\/em> kracht es sofort.\u00a0Das Problem ist, dass dieser Basic Test Bestandteil von <em>&#8222;Certified for Vista&#8220;<\/em> ist.<\/p>\n<p>Die Folge man rasselt mit 100% Sicherheit durch!<\/p>\n<p>Bug Report hier:<br \/>\n<a href=\"https:\/\/connect.microsoft.com\/VisualStudio\/feedback\/ViewFeedback.aspx?FeedbackID=270493\">https:\/\/connect.microsoft.com\/VisualStudio\/feedback\/ViewFeedback.aspx?FeedbackID=270493<\/a><\/p>\n<p>D\u00e4mlicherweise wurde auch dieser Bug von Microsoft als <em>&#8222;Gel\u00f6st (Nicht reproduzierbar)&#8220;<\/em> markiert. Da kann man wirklich nurmit dem Kopf sch\u00fctteln.<\/p>\n<p>Und ein kleines Demo findet ihr hier:<br \/>\n<a href=\"http:\/\/blog.m-ri.de\/wp-content\/uploads\/2007\/04\/proppagebug3.zip\">Testprogramm f\u00fcr CPropertyPage Bug in MFC 7.1<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der von mir gemeldete Bug Bug in der MFC71.DLL bzgl. CPropertySheet\/CPropertyPage\u00a0f\u00fchrt dazu, dass ein Programm, dass den genannten Voraussetzungen entspricht, bei den Test f\u00fcr &#8222;Certified for Vista&#8220; durchf\u00e4llt! Der Application Verifier\u00a0f\u00fchrt bei den Basic Test einen Page Boundary Check durch. Dabei werden alle Allokationen so durchgef\u00fchrt, dass sie immer am Ende einer Memory Page erfolgen. &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2007\/04\/25\/bug-in-cpropertypage-und-certified-for-vista\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eBug in CPropertyPage und &#8222;Certified for Vista&#8220;\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4,3,17],"tags":[38,352,358],"class_list":["post-58","post","type-post","status-publish","format-standard","hentry","category-mfc","category-programmieren","category-vista-2","tag-debuggen","tag-mfc","tag-vista"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/58","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/comments?post=58"}],"version-history":[{"count":0,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/58\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=58"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=58"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=58"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}