http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52337

             Bug #: 52337
           Summary: memory hole
    Classification: Unclassified
           Product: gcc
           Version: 4.6.2
            Status: UNCONFIRMED
          Severity: critical
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: xiaoyua...@yeah.net


#include<iostream>
#include<stdio.h>
typedef char**(*(*v[4])(int*p[],float (*f)(int a[])))[][6];
class e{v i,a,b;public:int get();friend int g();}ai;
int e::get(){long h1,h2,h3;h1=(long)&i;h2=(long)&a;h3=(long)&b;
printf("%p\n%p   %lx\n%p   %lx\noriginal pointer is:",i,a,h2-h1,b,h3-h2);
std::cout<<&i<<std::endl;return 0;}int g(){return ai.get();}
class pgabstract{v i,a,b;public:int get(){return vget();}
int(*p)();virtual void t()=0;
int vget();}*m[4];int pgabstract::vget(){
long h1,h2,h3;h1=(long)&i;h2=(long)&a;h3=(long)&b;
printf("%p\n%p   %lx\n%p   %lx\noriginal pointer is:",i,a,h2-h1,b,h3-h2);
std::cout<<&i<<std::endl;return 0;}
main(){m[3]=(pgabstract*)&ai;m[3]->get();}

in the code i sure port in a class abstract
like class a{int i;virtual void t()=0;}; i sure i is circle and class typedef a
is not a inheritance.in code anywhere i donnt invite the value of class a
ai.assert
but i assert faile compile donnt alert me to memory hole i sure through out.
i alarm the name of class a privilage memory hole. it is concept. alert must!

Reply via email to