Changes between Version 2 and Version 3 of zzuf/internals


Ignore:
Timestamp:
11/22/2009 06:47:48 PM (14 years ago)
Author:
Sam Hocevar
Comment:

small part about signal functions and beginning of the file/socket section

Legend:

Unmodified
Added
Removed
Modified
  • zzuf/internals

    v2 v3  
    5959== Memory functions ==
    6060
     61Memory handling functions are diverted in [source:/zzuf/trunk/src/lib-mem.c].
     62
    6163Functions such as '''`malloc`''' need to be diverted by zzuf in order to monitor global memory usage and detect severe memory leaks.
    6264
    6365This creates a bootstrapping problem on some platforms: the diverted '''`calloc`''' calls the real '''`calloc`''', which needs to be loaded using '''`dlsym`'''. On Linux, '''`dlsym`''' calls '''`calloc`''', resulting in an infinite loop. To avoid this, we declare a private static buffer that memory allocation functions can use if the original function is not yet loaded.
    6466
     67== Signal functions ==
     68
     69Memory handling functions are diverted in [source:/zzuf/trunk/src/lib-signal.c].
     70
     71These functions need to be diverted to prevent the fuzzed application from intercepting fatal signals such as '''`SIGSEGV`'''.
     72
     73== File and socket functions ==
     74
     75File descriptor handling functions are diverted in [source:/zzuf/trunk/src/lib-fd.c] and [source:/zzuf/trunk/src/lib-stream.c].
     76
     77The most important part of zzuf is the way file descriptor functions are diverted. It keeps track of all open file descriptors, decides whether to fuzz their data, and makes diverted reading functions behave accordingly.
     78
    6579=== Standard file descriptor functions ===
    6680
    6781=== `FILE *` functions ===
    68