]> git.wh0rd.org - ICEs.git/blobdiff - 332927/crash.c
more
[ICEs.git] / 332927 / crash.c
diff --git a/332927/crash.c b/332927/crash.c
new file mode 100644 (file)
index 0000000..6a8ff58
--- /dev/null
@@ -0,0 +1,23 @@
+#include <sys/types.h>
+#include <elf.h>
+#include <pwd.h>
+#include <stdio.h>
+
+#if ( __WORD_BITS__ == 32 )
+typedef Elf32_auxv_t auxv_t;
+#else
+typedef Elf64_auxv_t auxv_t;
+#endif
+
+int main( int argc, char const* argv[] )
+{
+        auxv_t *auxv;
+        for( ; *argv; argv++ ) ; /* skip argv... */
+        argv++; /* skip null */
+        for( ; *argv; argv++ ) ; /* skip envp... */
+        argv++; /* skip null */
+        for ( auxv = (auxv_t *)argv; auxv->a_type != AT_NULL; auxv++ )
+                printf( "auxv: type %zu, value 0x%zx\n", auxv->a_type, auxv->a_un.a_val );
+        getpwnam( "root" );
+        return 0;
+}