mirror of
				https://github.com/meshtastic/firmware.git
				synced 2025-10-28 23:34:03 +00:00 
			
		
		
		
	 b0fe5ef8ba
			
		
	
	
		b0fe5ef8ba
		
			
		
	
	
	
	
		
			
			* Initial commit of a fuzzer for Meshtastic. * Use a max of 5 for the phone queues * Only write files to the temp dir * Limitless queue + fuzzer = lots of ram :) * Use $PIO_ENV for path to program * spelling: s/is/to/ * Use loopCanSleep instead of a lock in Router * realHardware allows full use of a CPU core * Ignore checkov CKV_DOCKER_2 & CKV_DOCKER_3 * Add Atak seed * Fix lint issues in build.sh * Use exception to exit from portduino_main * Separate build & source files into $WORK & $SRC * Use an ephemeral port for the API server * Include CXXFLAGS in the link step * Read all shared libraries * Use a separate work directory for each sanitizer --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """PlatformIO build script (post: runs after other Meshtastic scripts)."""
 | |
| 
 | |
| import os
 | |
| import shlex
 | |
| 
 | |
| from SCons.Script import DefaultEnvironment
 | |
| 
 | |
| env = DefaultEnvironment()
 | |
| 
 | |
| # Remove any static libraries from the LIBS environment. Static libraries are
 | |
| # handled in platformio-clusterfuzzlite-pre.py.
 | |
| static_libs = set(lib[2:] for lib in shlex.split(os.getenv("STATIC_LIBS")))
 | |
| env.Replace(
 | |
|     LIBS=[
 | |
|         lib for lib in env["LIBS"] if not (isinstance(lib, str) and lib in static_libs)
 | |
|     ],
 | |
| )
 | |
| 
 | |
| # FrameworkArduino/portduino/main.cpp contains the "main" function the binary.
 | |
| # The fuzzing framework also provides a "main" function and needs to be run
 | |
| # before Meshtastic is started. We rename the "main" function for Meshtastic to
 | |
| # "portduino_main" here so that it can be called inside the fuzzer.
 | |
| env.AddPostAction(
 | |
|     "$BUILD_DIR/FrameworkArduino/portduino/main.cpp.o",
 | |
|     env.VerboseAction(
 | |
|         " ".join(
 | |
|             [
 | |
|                 "$OBJCOPY",
 | |
|                 "--redefine-sym=main=portduino_main",
 | |
|                 "$BUILD_DIR/FrameworkArduino/portduino/main.cpp.o",
 | |
|             ]
 | |
|         ),
 | |
|         "Renaming main symbol to portduino_main",
 | |
|     ),
 | |
| )
 |