Home | History | Annotate | Download | only in crashme
      1 --- crashme-2.4.orig/crashme.1
      2 +++ crashme-2.4/crashme.1
      3 @@ -1,4 +1,4 @@
      4 -.TH CRASHME 1C LOCAL 
      5 +.TH CRASHME 1 LOCAL 
      6  .SH NAME
      7  crashme \- test operating environment software robustness
      8  .SH SYNOPSIS
      9 --- crashme-2.4.orig/debian/copyright
     10 +++ crashme-2.4/debian/copyright
     11 @@ -0,0 +1,25 @@
     12 +This package was created by Jay Kominek <jkominek (a] debian.org> on Sunday
     13 +the 7th of June, 1998.
     14 +
     15 +The copyright for crashme is as follows, taken verbatim from crashme.c:
     16 +
     17 + *
     18 + *             COPYRIGHT (c) 1990-1994 BY        *
     19 + *  GEORGE J. CARRETTE, CONCORD, MASSACHUSETTS.  *
     20 + *             ALL RIGHTS RESERVED               *
     21 +
     22 +Permission to use, copy, modify, distribute and sell this software
     23 +and its documentation for any purpose and without fee is hereby
     24 +granted, provided that the above copyright notice appear in all copies
     25 +and that both that copyright notice and this permission notice appear
     26 +in supporting documentation, and that the name of the author
     27 +not be used in advertising or publicity pertaining to distribution
     28 +of the software without specific, written prior permission.
     29 +
     30 +THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
     31 +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
     32 +HE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
     33 +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
     34 +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
     35 +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
     36 +SOFTWARE.
     37 --- crashme-2.4.orig/debian/README.debian
     38 +++ crashme-2.4/debian/README.debian
     39 @@ -0,0 +1,23 @@
     40 +                    _                    
     41 +  ___ _ __ __ _ ___| |__  _ __ ___   ___ 
     42 + / __| '__/ _` / __| '_ \| '_ ` _ \ / _ \
     43 +| (__| | | (_| \__ \ | | | | | | | |  __/
     44 + \___|_|  \__,_|___/_| |_|_| |_| |_|\___|
     45 +                  ... for Debian!
     46 +
     47 + So, you want to crash your computer, but pulling the processor out is
     48 +getting boring? crashme is for you! crashme works by generating strings of
     49 +random bytes, and then (here is the fun part) trying to execute the
     50 +bytes!
     51 +
     52 +*** WARNING ***
     53 + If you run crashme, your system could very well crash. YOU COULD LOSE
     54 +YOUR ALL OF YOUR DATA!!! I (Jay Kominek), the author of crashme, Debian,
     55 +SPI and its officers take no responsibility if you lose data by running
     56 +crashme. Note: crashme is installed into /usr/bin, world executable.
     57 +Joe Random User could very well execute it and crash your system!
     58 +
     59 +
     60 +  --- Jay Kominek
     61 +       jkominek (a] debian.org
     62 +       jfk (a] acm.org
     63 --- crashme-2.4.orig/debian/compat
     64 +++ crashme-2.4/debian/compat
     65 @@ -0,0 +1 @@
     66 +4
     67 --- crashme-2.4.orig/debian/rules
     68 +++ crashme-2.4/debian/rules
     69 @@ -0,0 +1,46 @@
     70 +#!/usr/bin/make -f
     71 +# Originally generated by debmake, and then converted to use debhelper
     72 +
     73 +# Uncomment this to turn on verbose mode.
     74 +#export DH_VERBOSE=1
     75 +
     76 +CFLAGS = -Wall -g
     77 +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
     78 +	CFLAGS += -O0
     79 +else
     80 +	CFLAGS += -O2
     81 +endif
     82 +
     83 +build: crashme
     84 +
     85 +clean:
     86 +	dh_testdir
     87 +	dh_testroot
     88 +
     89 +	rm -f crashme
     90 +
     91 +	dh_clean
     92 +
     93 +binary-indep:
     94 +# Nothing to do
     95 +
     96 +binary-arch:	build
     97 +	dh_testdir
     98 +	dh_testroot
     99 +	dh_clean
    100 +	dh_installdirs
    101 +	dh_install crashme usr/bin
    102 +	dh_installdocs crashme.html
    103 +	dh_installman crashme.1
    104 +	dh_installchangelogs
    105 +	dh_strip
    106 +	dh_compress
    107 +	dh_fixperms
    108 +	dh_installdeb
    109 +	dh_shlibdeps
    110 +	dh_gencontrol
    111 +	dh_md5sums
    112 +	dh_builddeb
    113 +
    114 +binary: binary-indep binary-arch
    115 +.PHONY: build clean binary-indep binary-arch binary
    116 --- crashme-2.4.orig/debian/control
    117 +++ crashme-2.4/debian/control
    118 @@ -0,0 +1,17 @@
    119 +Source: crashme
    120 +Section: devel
    121 +Priority: optional
    122 +Maintainer: Aurlien GRME <ag (a] roxor.cx>
    123 +Standards-Version: 3.7.2
    124 +Build-Depends: debhelper (>= 4)
    125 +
    126 +Package: crashme
    127 +Architecture: any
    128 +Depends: ${shlibs:Depends}
    129 +Description: Stress tests operating system stability
    130 + crashme generates strings of random bytes and then attempts to execute
    131 + them. Used to test kernel stability.
    132 + .
    133 + **WARNING** While Linux has been known to survive days and weeks of crashme,
    134 + IT IS NOT GUARANTEED THAT YOUR SYSTEM WILL SURVIVE! DO NOT USE THIS PROGRAM
    135 + UNLESS YOU REALLY WANT TO CRASH YOUR COMPUTER
    136 --- crashme-2.4.orig/debian/changelog
    137 +++ crashme-2.4/debian/changelog
    138 @@ -0,0 +1,75 @@
    139 +crashme (2.4-9) unstable; urgency=low
    140 +
    141 +  * Adopt the package (Closes: #353388).
    142 +  * Conform to policy with CFLAGS set to "-O2 -g -Wall".
    143 +  * Fix resulting gcc warnings from turning on "-Wall".
    144 +
    145 + -- Aurlien GRME <ag (a] roxor.cx>  Mon, 31 Jul 2006 14:41:43 +0200
    146 +
    147 +crashme (2.4-8) unstable; urgency=low
    148 +
    149 +  * QA upload.
    150 +  * debian/postinst: Remove; /usr/doc already handled by the old prerm.
    151 +  * debian/rules:
    152 +    - Add support for DEB_BUILD_OPTIONS=noopt.
    153 +    - Use dh_install.
    154 +
    155 + -- Matej Vela <vela (a] debian.org>  Sun, 30 Jul 2006 22:14:56 +0200
    156 +
    157 +crashme (2.4-7) unstable; urgency=low
    158 +
    159 +  * QA upload.
    160 +  * s/PAQUETE/crashme/g in postinst. Sorry 
    161 +
    162 + -- Amaya Rodrigo Sastre <amaya (a] debian.org>  Wed, 12 Jul 2006 21:44:04 +0200
    163 +
    164 +crashme (2.4-6) unstable; urgency=low
    165 +
    166 +  * QA upload.
    167 +  * This package is orphaned as of #353388, so setting the Maintainer field
    168 +    accordingly to QA.
    169 +  * Fix typo in package description (Closes: #363215).
    170 +  * Get rid of the /usr/doc link (Closes: #359371).
    171 +  * Stop echoing warnings and stuff on console in postinst. Debconf should be
    172 +    used instead. Somebody please fix this.
    173 +  * Bumped Standards version to 3.7.2. No changes needed.
    174 +  * Fixed manual section 
    175 +
    176 + -- Amaya Rodrigo Sastre <amaya (a] debian.org>  Wed, 12 Jul 2006 18:47:31 +0200
    177 +
    178 +crashme (2.4-5) unstable; urgency=low
    179 +
    180 +  * New maintainer (Closes: #81889)
    181 +  * Bump up Standards-Version
    182 +  * Add Build-Depends (Closes: #70344)
    183 +  * Remove pddet from the package since it has no manpage and does not seem to
    184 +    be useful, even for the build process.
    185 +
    186 + -- Aaron Lehmann <aaronl (a] vitelus.com>  Wed, 10 Jan 2001 19:29:36 -0800
    187 +
    188 +crashme (2.4-4) unstable; urgency=low
    189 +
    190 +  * Replaced execl call with execlp. (Fixes bug #37304)
    191 +  * Removed access to an obsolete structure member. (Fixes bug #37446)
    192 +
    193 + -- Jay Kominek <jay.kominek (a] colorado.edu>  Tue, 25 May 1999 09:32:17 -0600
    194 +
    195 +crashme (2.4-3) unstable; urgency=low
    196 +
    197 +  * Switched binary-arch and binary-indep to what they should be.
    198 +    (Fixes bug #25452)
    199 +
    200 + -- Jay Kominek <jkominek (a] debian.org>  Thu,  6 Aug 1998 03:34:49 -0600
    201 +
    202 +crashme (2.4-2) unstable; urgency=low
    203 +
    204 +  * Changed extended package description to format sanely in dselect.
    205 +    (Fixes bug #23666)
    206 +
    207 + -- Jay Kominek <jkominek (a] debian.org>  Thu, 18 Jun 1998 02:57:30 -0400
    208 +
    209 +crashme (2.4-1) unstable; urgency=low
    210 +
    211 +  * Initial Release.
    212 +
    213 + -- Jay Kominek <jkominek (a] debian.org>  Sat,  6 Jun 1998 19:12:44 -0400
    214 --- crashme-2.4.orig/crashme.c
    215 +++ crashme-2.4/crashme.c
    216 @@ -151,6 +151,8 @@
    217  #include <unistd.h>
    218  #endif
    219  
    220 +#include <sys/wait.h>
    221 +
    222  typedef void (*BADBOY)();
    223  
    224  BADBOY badboy;
    225 @@ -260,10 +262,7 @@
    226  #else
    227   struct sigaction act;
    228   act.sa_handler = func;
    229 - act.sa_mask = 0;
    230 -#ifdef linux
    231 - act.sa_restorer = 0;
    232 -#endif /* linux */
    233 + bzero(&act.sa_mask,sizeof(sigset_t));
    234   act.sa_flags = SA_NOMASK;
    235  #ifdef SA_RESTART
    236   act.sa_flags |= SA_RESTART;
    237 @@ -272,7 +271,7 @@
    238  #endif /* SA_ONESHOT */
    239  }
    240   
    241 -set_up_signals()
    242 +void set_up_signals()
    243  {my_signal(SIGILL,again_handler);
    244  #ifdef SIGTRAP
    245   my_signal(SIGTRAP,again_handler);
    246 @@ -295,7 +294,7 @@
    247  
    248  #endif
    249  
    250 -compute_badboy_1(n)
    251 +void compute_badboy_1(n)
    252       long n;
    253  {long j;
    254   if (malloc_flag == 1)
    255 @@ -347,7 +346,7 @@
    256  #endif
    257    return((BADBOY)dat);}
    258  
    259 -compute_badboy()
    260 +void compute_badboy()
    261  {long n;
    262   n = (nbytes < 0) ? - nbytes : nbytes;
    263   if (incptr == 0)
    264 @@ -369,7 +368,7 @@
    265                           the_data,(nbytes < 0) ? - nbytes : nbytes);
    266  */
    267  
    268 -try_one_crash()
    269 +void try_one_crash()
    270  {if (nbytes > 0)
    271     (*badboy)();
    272   else if (nbytes == 0)
    273 @@ -377,7 +376,7 @@
    274  
    275  char *subprocess_ind = "subprocess";
    276   
    277 -main(argc,argv)
    278 +int main(argc,argv)
    279       int argc; char **argv;
    280  {long nsubs,hrs,mns,scs,tflag,j,m;
    281   note_buffer = (char *) malloc(512);
    282 @@ -411,21 +410,23 @@
    283      note(1);
    284      record_note();
    285      if (strchr(argv[4],':'))
    286 -      {sscanf(argv[4],"%d:%d:%d",&hrs,&mns,&scs);
    287 +      {sscanf(argv[4],"%ld:%ld:%ld",&hrs,&mns,&scs);
    288         tflag = 1;
    289         nsubs = (((hrs * 60) + mns) * 60) + scs;
    290 -       sprintf(notes,"Subprocess run for %d seconds (%d %02d:%02d:%02d)",
    291 +       sprintf(notes,"Subprocess run for %ld seconds (%ld %02ld:%02ld:%02ld)",
    292  	       nsubs, hrs / 24, hrs % 24,mns,scs);}
    293      else
    294        {tflag = 0;
    295         nsubs = atol(argv[4]);
    296 -       sprintf(notes,"Creating %d crashme subprocesses",nsubs);}
    297 +       sprintf(notes,"Creating %ld crashme subprocesses",nsubs);}
    298      note(1);
    299      vfork_main(tflag,nsubs,argv[0],argv[1],atol(argv[2]),argv[3]);}
    300   else
    301     {sprintf(notes,
    302  	    "crashme [+]<nbytes>[.inc] <srand> <ntrys> [nsub] [verbose]");
    303 -    note(0);}}
    304 +    note(0);}
    305 + return 0;
    306 +}
    307  
    308  void copyright_note(n)
    309       long n;
    310 @@ -440,19 +441,19 @@
    311  {char *ptr;
    312   copyright_note(3);
    313   nbytes = atol(argv[1]);
    314 - if (ptr = strchr(argv[1],'.'))
    315 + if ((ptr = strchr(argv[1],'.')))
    316     incptr = atol(&ptr[1]);
    317   if (argv[1][0] == '+') malloc_flag = 1;
    318   nseed = atol(argv[2]);
    319   ntrys = atol(argv[3]);
    320 - sprintf(notes,"crashme %s%ld.%d %ld %ld",
    321 + sprintf(notes,"crashme %s%ld.%ld %ld %ld",
    322  	 (malloc_flag == 0) ? "" : "+",nbytes,incptr,nseed,ntrys);
    323   note(3);
    324   record_note();
    325   if (malloc_flag == 0)
    326     {the_data = bad_malloc((nbytes < 0) ? -nbytes : nbytes);
    327      badboy = castaway(the_data);
    328 -    sprintf(notes,"Badboy at %d. 0x%X",badboy,badboy);
    329 +    sprintf(notes,"Badboy at %d. 0x%X",(int) badboy,(unsigned int) badboy);
    330      note(3);}
    331   srand(nseed);
    332  #ifdef WIN32
    333 @@ -481,9 +482,9 @@
    334   for(i=0;i<ntrys;++i)
    335     {compute_badboy();
    336      if (offset)
    337 -      sprintf(notes,"try %d, offset %d",i,offset);
    338 +      sprintf(notes,"try %d, offset %ld",i,offset);
    339      else if (malloc_flag == 1)
    340 -      sprintf(notes,"try %d, Badboy at %d. 0x%X",i,badboy,badboy);
    341 +      sprintf(notes,"try %d, Badboy at %d. 0x%X",i,(int) badboy,(unsigned int) badboy);
    342      else
    343        sprintf(notes,"try %d",i);
    344      note(5);
    345 @@ -514,7 +515,7 @@
    346  
    347  struct status_list *slist = NULL;
    348  
    349 -record_status(n)
    350 +int record_status(n)
    351       long n;
    352  {struct status_list *l;
    353   for(l=slist;l != NULL; l = l->next)
    354 @@ -527,13 +528,13 @@
    355   slist = l;
    356   return(1);}
    357  
    358 -summarize_status()
    359 +void summarize_status()
    360  {struct status_list *l;
    361   sprintf(notes,"exit status ... number of cases");
    362   note(2);
    363   for(l=slist;l != NULL; l = l->next)
    364     {sprintf(notes,"exit status ... number of cases");
    365 -    sprintf(notes,"%11d ... %5d",l->status,l->count);
    366 +    sprintf(notes,"%11ld ... %5ld",l->status,l->count);
    367      note(2);}}
    368  
    369  #ifndef WIN32
    370 @@ -552,7 +553,7 @@
    371   if (monitor_active)
    372     {++monitor_count;
    373      if (monitor_count >= monitor_limit)
    374 -      {sprintf(notes,"time limit reached on pid %d 0x%X. using kill.",
    375 +      {sprintf(notes,"time limit reached on pid %ld 0x%lX. using kill.",
    376  	       monitor_pid,monitor_pid);
    377         note(3);
    378         status = kill(monitor_pid,SIGKILL);
    379 @@ -581,24 +582,24 @@
    380     {my_signal(SIGALRM,monitor_fcn);
    381      alarm(monitor_period);}
    382   time(&before_time);
    383 - sprintf(arg5,"%d",verbose_level);
    384 + sprintf(arg5,"%ld",verbose_level);
    385   for(j=0;j<n;++j)
    386 -   {sprintf(arg2,"%d",sr+j);
    387 -    sprintf(arg4,"%d",j+1);
    388 +   {sprintf(arg2,"%ld",sr+j);
    389 +    sprintf(arg4,"%ld",j+1);
    390  #ifdef VMS
    391      status = vfork();
    392  #else
    393      status = fork();
    394  #endif
    395      if (status == 0)
    396 -      {status = execl(cmd,cmd,nb,arg2,nt,arg4,arg5,subprocess_ind,0);
    397 +      {status = execlp(cmd,cmd,nb,arg2,nt,arg4,arg5,subprocess_ind,NULL);
    398         if (status == -1)
    399  	 {perror(cmd);
    400  	  exit(1);}}
    401      else if (status < 0)
    402        perror(cmd);
    403      else
    404 -      {sprintf(notes,"pid = %d 0x%X (subprocess %d)",status,status,j+1);
    405 +      {sprintf(notes,"pid = %d 0x%X (subprocess %ld)",status,status,j+1);
    406         note(3);
    407         if (seq == 1)
    408  	 {monitor_pid = status;
    409 @@ -606,19 +607,19 @@
    410  	  monitor_active = 1;
    411  	  while((pid = wait(&status)) > 0)
    412  	    {monitor_active = 0;
    413 -	     sprintf(notes,"pid %d 0x%X exited with status %d",pid,pid,status);
    414 +	     sprintf(notes,"pid %ld 0x%lX exited with status %d",pid,pid,status);
    415  	     note(3);
    416  	     record_status(status);}}
    417         if (tflag == 1)
    418  	 {time(&after_time);
    419  	  total_time = after_time - before_time;
    420  	  if (total_time >= nsubs)
    421 -	    {sprintf(notes,"Time limit reached after run %d",j+1);
    422 +	    {sprintf(notes,"Time limit reached after run %ld",j+1);
    423  	     note(2);
    424  	     break;}}}}
    425   if (seq == 0)
    426     while((pid = wait(&status)) > 0)
    427 -     {sprintf(notes,"pid %d 0x%X exited with status %d",pid,pid,status);
    428 +     {sprintf(notes,"pid %ld 0x%lX exited with status %d",pid,pid,status);
    429        note(3);
    430        record_status(status);}
    431   time(&after_time);
    432 @@ -632,7 +633,7 @@
    433   hrs = hrs % 24;
    434   open_record();
    435   sprintf(notes,
    436 -	 "Test complete, total real time: %d seconds (%d %02d:%02d:%02d)",
    437 +	 "Test complete, total real time: %ld seconds (%ld %02ld:%02ld:%02ld)",
    438  	 total_time,dys,hrs,mns,scs);
    439   note(1);
    440   summarize_status();
    441