mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-30 23:47:27 +03:00 
			
		
		
		
	Delegate building of oss-fuzz versions to pillow
This commit is contained in:
		
							parent
							
								
									f15f573e51
								
							
						
					
					
						commit
						38692f222f
					
				
							
								
								
									
										46
									
								
								Tests/oss-fuzz/build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										46
									
								
								Tests/oss-fuzz/build.sh
									
									
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,46 @@ | |||
| #!/bin/bash -eu | ||||
| # Copyright 2020 Google LLC | ||||
| # | ||||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| # you may not use this file except in compliance with the License. | ||||
| # You may obtain a copy of the License at | ||||
| # | ||||
| #      http://www.apache.org/licenses/LICENSE-2.0 | ||||
| # | ||||
| # Unless required by applicable law or agreed to in writing, software | ||||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| # See the License for the specific language governing permissions and | ||||
| # limitations under the License. | ||||
| # | ||||
| ################################################################################ | ||||
| 
 | ||||
| python3 setup.py build --build-base=/tmp/build install | ||||
| 
 | ||||
| # Build fuzzers in $OUT. | ||||
| for fuzzer in $(find $SRC -name 'fuzz_*.py'); do | ||||
|   fuzzer_basename=$(basename -s .py $fuzzer) | ||||
|   fuzzer_package=${fuzzer_basename}.pkg | ||||
|   pyinstaller \ | ||||
|       --add-binary /usr/local/lib/libjpeg.so.9:. \ | ||||
|       --add-binary /usr/local/lib/libfreetype.so.6:. \ | ||||
|       --add-binary /usr/local/lib/liblcms2.so.2:. \ | ||||
|       --add-binary /usr/local/lib/libopenjp2.so.7:. \ | ||||
|       --add-binary /usr/local/lib/libpng16.so.16:. \ | ||||
|       --add-binary /usr/local/lib/libtiff.so.5:. \ | ||||
|       --add-binary /usr/local/lib/libwebp.so.7:. \ | ||||
|       --add-binary /usr/local/lib/libwebpdemux.so.2:. \ | ||||
|       --add-binary /usr/local/lib/libwebpmux.so.3:. \ | ||||
|       --distpath $OUT --onefile --name $fuzzer_package $fuzzer | ||||
| 
 | ||||
|   # Create execution wrapper. | ||||
|   echo "#!/bin/sh | ||||
| # LLVMFuzzerTestOneInput for fuzzer detection. | ||||
| this_dir=\$(dirname \"\$0\") | ||||
| LD_PRELOAD=\$this_dir/sanitizer_with_fuzzer.so \ | ||||
| ASAN_OPTIONS=\$ASAN_OPTIONS:symbolize=1:external_symbolizer_path=\$this_dir/llvm-symbolizer:detect_leaks=0 \ | ||||
| \$this_dir/$fuzzer_package \$@" > $OUT/$fuzzer_basename | ||||
|   chmod u+x $OUT/$fuzzer_basename | ||||
| done | ||||
| 
 | ||||
| find Tests/images Tests/icc Tests/fonts -print | zip -q $OUT/fuzz_pillow_seed_corpus.zip -@ | ||||
							
								
								
									
										33
									
								
								Tests/oss-fuzz/build_dictionaries.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								Tests/oss-fuzz/build_dictionaries.sh
									
									
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,33 @@ | |||
| #!/bin/bash -eu | ||||
| # Copyright 2020 Google LLC | ||||
| # | ||||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| # you may not use this file except in compliance with the License. | ||||
| # You may obtain a copy of the License at | ||||
| # | ||||
| #      http://www.apache.org/licenses/LICENSE-2.0 | ||||
| # | ||||
| # Unless required by applicable law or agreed to in writing, software | ||||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| # See the License for the specific language governing permissions and | ||||
| # limitations under the License. | ||||
| # | ||||
| ################################################################################ | ||||
| 
 | ||||
| # Generate image dictionaries here for each of the fuzzers and put them in the | ||||
| # $OUT directory, named for the fuzzer | ||||
| 
 | ||||
| git clone --depth 1 https://github.com/google/fuzzing | ||||
| cat fuzzing/dictionaries/bmp.dict \ | ||||
|     fuzzing/dictionaries/dds.dict \ | ||||
|     fuzzing/dictionaries/gif.dict \ | ||||
|     fuzzing/dictionaries/icns.dict \ | ||||
|     fuzzing/dictionaries/jpeg.dict \ | ||||
|     fuzzing/dictionaries/jpeg2000.dict \ | ||||
|     fuzzing/dictionaries/pbm.dict \ | ||||
|     fuzzing/dictionaries/png.dict \ | ||||
|     fuzzing/dictionaries/psd.dict \ | ||||
|     fuzzing/dictionaries/tiff.dict \ | ||||
|     fuzzing/dictionaries/webp.dict \ | ||||
|     > $OUT/fuzz_pillow.dict | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user