source: zzuf/trunk/src/common/common.h @ 4253

Last change on this file since 4253 was 4253, checked in by sam, 4 years ago

Fix copyright information and remove Id tag everywhere.

  • Property svn:keywords set to Id
File size: 1.5 KB
Line 
1/*
2 *  zzuf - general purpose fuzzer
3 *  Copyright (c) 2006-2010 Sam Hocevar <sam@hocevar.net>
4 *                All Rights Reserved
5 *
6 *  This program is free software. It comes without any warranty, to
7 *  the extent permitted by applicable law. You can redistribute it
8 *  and/or modify it under the terms of the Do What The Fuck You Want
9 *  To Public License, Version 2, as published by Sam Hocevar. See
10 *  http://sam.zoy.org/wtfpl/COPYING for more details.
11 */
12
13/*
14 *  common.h: default fuzzing settings
15 */
16
17/* We arbitrarily split files into 1024-byte chunks. Each chunk has an
18 * associated seed that can be computed from the zzuf seed, the chunk
19 * index and the fuzziness density. This allows us to predictably fuzz
20 * any part of the file without reading the whole file. */
21#define CHUNKBYTES 1024
22
23/* Default seed is 0. Why not? */
24#define DEFAULT_SEED 0
25
26/* The default fuzzing ratio is, arbitrarily, 0.4%. The minimal fuzzing
27 * ratio is 0.000000001% (less than one bit changed on a whole DVD). */
28#define DEFAULT_RATIO 0.004
29#define MIN_RATIO 0.00000000001
30#define MAX_RATIO 5.0
31
32/* The default maximum memory usage is 1024 MiB. If this value is not set,
33 * zzuf may bring a machine down to its knees because of I/O. */
34#define DEFAULT_MEM 1024
35
36/* We use file descriptor 17 as the debug channel */
37#define DEBUG_FILENO 17
38#define DEBUG_FILENO_STR "17"
39
40struct fuzz
41{
42    uint32_t seed;
43    double ratio;
44    int64_t cur;
45#ifdef HAVE_FGETLN
46    char *tmp;
47#endif
48    int uflag; int64_t upos; uint8_t uchar; /* ungetc stuff */
49    uint8_t data[CHUNKBYTES];
50};
51
Note: See TracBrowser for help on using the repository browser.