diff options
author | Werner Koch <[email protected]> | 2006-02-14 18:39:24 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2006-02-14 18:39:24 +0000 |
commit | 820225458175ed521bd83143fe7aa176d57801e4 (patch) | |
tree | 8229b747a419b5d0cbd6d85f0af9b80f6ff8e329 /tools/mk-tdata.c | |
parent | This commit was manufactured by cvs2svn to create tag 'V1-4-2'. (diff) | |
download | gnupg-1-4-2.tar.gz gnupg-1-4-2.zip |
Security fixV1-4-2
Diffstat (limited to '')
-rw-r--r-- | tools/mk-tdata.c | 45 |
1 files changed, 35 insertions, 10 deletions
diff --git a/tools/mk-tdata.c b/tools/mk-tdata.c index 868e0ffbf..833875d28 100644 --- a/tools/mk-tdata.c +++ b/tools/mk-tdata.c @@ -1,5 +1,5 @@ /* mk-tdata.c - Create some simple random testdata - * Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. + * Copyright (C) 1998, 1999, 2000, 2001, 2006 Free Software Foundation, Inc. * * This file is free software; as a special exception the author gives * unlimited permission to copy and/or distribute it, with or without @@ -13,6 +13,7 @@ #include <config.h> #include <stdio.h> #include <stdlib.h> +#include <string.h> #include <unistd.h> @@ -23,20 +24,44 @@ int main(int argc, char **argv) { - int i, c; - int limit =0; + int i, c = 0; + int limit =0; + int char_mode = 0; - limit = argc > 1 ? atoi(argv[1]) : 0; + if (argc) + { + argc--; + argv++; + } + + /* Check for option --char N */ + if (argc > 1 && !strcmp (argv[0], "--char")) + { + char_mode = 1; + c = strtol (argv[1], NULL, 0); + argc -= 2; + argv += 2; + } + + limit = argc ? atoi(argv[0]) : 0; - srand(getpid()); + srand(getpid()); - for(i=0; !limit || i < limit; i++ ) { + for (i=0; !limit || i < limit; i++ ) + { + if (char_mode) + { + putchar (c); + } + else + { #ifdef HAVE_RAND - c = ((unsigned)(1 + (int) (256.0*rand()/(RAND_MAX+1.0)))-1); + c = ((unsigned)(1 + (int) (256.0*rand()/(RAND_MAX+1.0)))-1); #else - c = ((unsigned)(1 + (int) (256.0*random()/(RAND_MAX+1.0)))-1); + c = ((unsigned)(1 + (int) (256.0*random()/(RAND_MAX+1.0)))-1); #endif - putchar(c); + putchar (c); + } } - return 0; + return 0; } |