diff --git a/README-maintainer b/README-maintainer index 49dc643f..b43f183b 100644 --- a/README-maintainer +++ b/README-maintainer @@ -86,6 +86,15 @@ GOOGLE OSS-FUZZ CODING RULES +* In a source file, include the header file that declares the source + class first followed by a blank line. If a config file is needed + first, put a blank line between that and the header followed by + another blank line. This assures that each header file is included + first at least once, thereby ensuring that it explicitly includes + all the headers it needs, which in turn alleviates lots of header + ordering problems. The blank line ensures that formatters don't + messt his up by resorting the headers. + * Avoid atoi. Use QUtil::string_to_int instead. It does overflow/underflow checking. diff --git a/libqpdf/AES_PDF_native.cc b/libqpdf/AES_PDF_native.cc index 697b3a37..26df9540 100644 --- a/libqpdf/AES_PDF_native.cc +++ b/libqpdf/AES_PDF_native.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/BitStream.cc b/libqpdf/BitStream.cc index 95ca47c5..4ab049cc 100644 --- a/libqpdf/BitStream.cc +++ b/libqpdf/BitStream.cc @@ -1,4 +1,5 @@ #include + #include // See comments in bits.cc diff --git a/libqpdf/BufferInputSource.cc b/libqpdf/BufferInputSource.cc index 9e9b4c17..6f692fc9 100644 --- a/libqpdf/BufferInputSource.cc +++ b/libqpdf/BufferInputSource.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/ClosedFileInputSource.cc b/libqpdf/ClosedFileInputSource.cc index f010b60a..8cdb3fad 100644 --- a/libqpdf/ClosedFileInputSource.cc +++ b/libqpdf/ClosedFileInputSource.cc @@ -1,4 +1,5 @@ #include + #include ClosedFileInputSource::Members::Members(char const* filename) : diff --git a/libqpdf/ContentNormalizer.cc b/libqpdf/ContentNormalizer.cc index 83754937..f08829b2 100644 --- a/libqpdf/ContentNormalizer.cc +++ b/libqpdf/ContentNormalizer.cc @@ -1,4 +1,5 @@ #include + #include ContentNormalizer::ContentNormalizer() : diff --git a/libqpdf/CryptoRandomDataProvider.cc b/libqpdf/CryptoRandomDataProvider.cc index 84c72fce..6792c79b 100644 --- a/libqpdf/CryptoRandomDataProvider.cc +++ b/libqpdf/CryptoRandomDataProvider.cc @@ -1,4 +1,5 @@ #include + #include CryptoRandomDataProvider::CryptoRandomDataProvider() diff --git a/libqpdf/FileInputSource.cc b/libqpdf/FileInputSource.cc index cd8feda4..f4f37783 100644 --- a/libqpdf/FileInputSource.cc +++ b/libqpdf/FileInputSource.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/InputSource.cc b/libqpdf/InputSource.cc index a0e81a7a..f9f63f17 100644 --- a/libqpdf/InputSource.cc +++ b/libqpdf/InputSource.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/JSON.cc b/libqpdf/JSON.cc index 5b17e485..4def376e 100644 --- a/libqpdf/JSON.cc +++ b/libqpdf/JSON.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/JSONHandler.cc b/libqpdf/JSONHandler.cc index 7e69d764..0a40c710 100644 --- a/libqpdf/JSONHandler.cc +++ b/libqpdf/JSONHandler.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/MD5.cc b/libqpdf/MD5.cc index 95edd3a4..0b85de0e 100644 --- a/libqpdf/MD5.cc +++ b/libqpdf/MD5.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/MD5_native.cc b/libqpdf/MD5_native.cc index d4187e8c..df5c9674 100644 --- a/libqpdf/MD5_native.cc +++ b/libqpdf/MD5_native.cc @@ -28,6 +28,7 @@ ///////////////////////////////////////////////////////////////////////// #include + #include #include diff --git a/libqpdf/NNTree.cc b/libqpdf/NNTree.cc index abef2964..ceb69c8d 100644 --- a/libqpdf/NNTree.cc +++ b/libqpdf/NNTree.cc @@ -1,4 +1,5 @@ #include + #include #include diff --git a/libqpdf/OffsetInputSource.cc b/libqpdf/OffsetInputSource.cc index 88eca4e4..fabca397 100644 --- a/libqpdf/OffsetInputSource.cc +++ b/libqpdf/OffsetInputSource.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/Pipeline.cc b/libqpdf/Pipeline.cc index 7939eb6d..e4ad3741 100644 --- a/libqpdf/Pipeline.cc +++ b/libqpdf/Pipeline.cc @@ -1,4 +1,5 @@ #include + #include Pipeline::Pipeline(char const* identifier, Pipeline* next) : diff --git a/libqpdf/Pl_AES_PDF.cc b/libqpdf/Pl_AES_PDF.cc index f4ba1923..6a58a321 100644 --- a/libqpdf/Pl_AES_PDF.cc +++ b/libqpdf/Pl_AES_PDF.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/Pl_ASCII85Decoder.cc b/libqpdf/Pl_ASCII85Decoder.cc index 9d9f6704..21926d95 100644 --- a/libqpdf/Pl_ASCII85Decoder.cc +++ b/libqpdf/Pl_ASCII85Decoder.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/Pl_ASCIIHexDecoder.cc b/libqpdf/Pl_ASCIIHexDecoder.cc index 7845268e..6fe4d959 100644 --- a/libqpdf/Pl_ASCIIHexDecoder.cc +++ b/libqpdf/Pl_ASCIIHexDecoder.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/Pl_Buffer.cc b/libqpdf/Pl_Buffer.cc index 9972b8eb..73db555a 100644 --- a/libqpdf/Pl_Buffer.cc +++ b/libqpdf/Pl_Buffer.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/Pl_Count.cc b/libqpdf/Pl_Count.cc index c35619b8..b245866c 100644 --- a/libqpdf/Pl_Count.cc +++ b/libqpdf/Pl_Count.cc @@ -1,4 +1,5 @@ #include + #include Pl_Count::Members::Members() : diff --git a/libqpdf/Pl_Flate.cc b/libqpdf/Pl_Flate.cc index d5b53a0d..a8b40867 100644 --- a/libqpdf/Pl_Flate.cc +++ b/libqpdf/Pl_Flate.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/Pl_MD5.cc b/libqpdf/Pl_MD5.cc index 0510e50e..93a0c8a1 100644 --- a/libqpdf/Pl_MD5.cc +++ b/libqpdf/Pl_MD5.cc @@ -1,4 +1,5 @@ #include + #include Pl_MD5::Pl_MD5(char const* identifier, Pipeline* next) : diff --git a/libqpdf/Pl_PNGFilter.cc b/libqpdf/Pl_PNGFilter.cc index a0841944..5f2ae54d 100644 --- a/libqpdf/Pl_PNGFilter.cc +++ b/libqpdf/Pl_PNGFilter.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/Pl_QPDFTokenizer.cc b/libqpdf/Pl_QPDFTokenizer.cc index 9a93f8f3..65e5456e 100644 --- a/libqpdf/Pl_QPDFTokenizer.cc +++ b/libqpdf/Pl_QPDFTokenizer.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/Pl_RC4.cc b/libqpdf/Pl_RC4.cc index 76932f2c..8e3548e5 100644 --- a/libqpdf/Pl_RC4.cc +++ b/libqpdf/Pl_RC4.cc @@ -1,4 +1,5 @@ #include + #include Pl_RC4::Pl_RC4(char const* identifier, Pipeline* next, diff --git a/libqpdf/Pl_SHA2.cc b/libqpdf/Pl_SHA2.cc index 3da78773..5057da45 100644 --- a/libqpdf/Pl_SHA2.cc +++ b/libqpdf/Pl_SHA2.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/Pl_StdioFile.cc b/libqpdf/Pl_StdioFile.cc index 253e36a1..f19a84d5 100644 --- a/libqpdf/Pl_StdioFile.cc +++ b/libqpdf/Pl_StdioFile.cc @@ -1,5 +1,7 @@ #include // include first for large file support + #include + #include #include #include diff --git a/libqpdf/Pl_TIFFPredictor.cc b/libqpdf/Pl_TIFFPredictor.cc index 1dece9b5..3facfec2 100644 --- a/libqpdf/Pl_TIFFPredictor.cc +++ b/libqpdf/Pl_TIFFPredictor.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index a5b9f880..ce534d6e 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -1,4 +1,5 @@ #include // include first for large file support + #include #include diff --git a/libqpdf/QPDFAnnotationObjectHelper.cc b/libqpdf/QPDFAnnotationObjectHelper.cc index c492c455..2a47cd3e 100644 --- a/libqpdf/QPDFAnnotationObjectHelper.cc +++ b/libqpdf/QPDFAnnotationObjectHelper.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/QPDFArgParser.cc b/libqpdf/QPDFArgParser.cc index 9c735e65..7e0ce7e4 100644 --- a/libqpdf/QPDFArgParser.cc +++ b/libqpdf/QPDFArgParser.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/QPDFCryptoProvider.cc b/libqpdf/QPDFCryptoProvider.cc index 5f65da3b..705f403d 100644 --- a/libqpdf/QPDFCryptoProvider.cc +++ b/libqpdf/QPDFCryptoProvider.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/QPDFCrypto_gnutls.cc b/libqpdf/QPDFCrypto_gnutls.cc index c57e153f..f5fdba8a 100644 --- a/libqpdf/QPDFCrypto_gnutls.cc +++ b/libqpdf/QPDFCrypto_gnutls.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/QPDFCrypto_native.cc b/libqpdf/QPDFCrypto_native.cc index 389b5708..22340648 100644 --- a/libqpdf/QPDFCrypto_native.cc +++ b/libqpdf/QPDFCrypto_native.cc @@ -1,4 +1,5 @@ #include + #include #ifdef USE_INSECURE_RANDOM diff --git a/libqpdf/QPDFEFStreamObjectHelper.cc b/libqpdf/QPDFEFStreamObjectHelper.cc index 71e13cb2..ef44c1c1 100644 --- a/libqpdf/QPDFEFStreamObjectHelper.cc +++ b/libqpdf/QPDFEFStreamObjectHelper.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/QPDFExc.cc b/libqpdf/QPDFExc.cc index 77de5bba..6215f8a6 100644 --- a/libqpdf/QPDFExc.cc +++ b/libqpdf/QPDFExc.cc @@ -1,4 +1,5 @@ #include + #include QPDFExc::QPDFExc(qpdf_error_code_e error_code, diff --git a/libqpdf/QPDFFileSpecObjectHelper.cc b/libqpdf/QPDFFileSpecObjectHelper.cc index b3df5e22..43be4699 100644 --- a/libqpdf/QPDFFileSpecObjectHelper.cc +++ b/libqpdf/QPDFFileSpecObjectHelper.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/QPDFFormFieldObjectHelper.cc b/libqpdf/QPDFFormFieldObjectHelper.cc index c84e31d9..d6d8f562 100644 --- a/libqpdf/QPDFFormFieldObjectHelper.cc +++ b/libqpdf/QPDFFormFieldObjectHelper.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/QPDFJob_argv.cc b/libqpdf/QPDFJob_argv.cc index e3d4a47b..3d39582e 100644 --- a/libqpdf/QPDFJob_argv.cc +++ b/libqpdf/QPDFJob_argv.cc @@ -115,6 +115,7 @@ ArgParser::argVersion() void ArgParser::argCopyright() { + // clang-format off // Make sure the output looks right on an 80-column display. // 1 2 3 4 5 6 7 8 // 12345678901234567890123456789012345678901234567890123456789012345678901234567890 @@ -153,6 +154,7 @@ ArgParser::argCopyright() << std::endl << "see the manual for additional information." << std::endl; + // clang-format on } void diff --git a/libqpdf/QPDFJob_config.cc b/libqpdf/QPDFJob_config.cc index 8b2cd144..8aac6ca8 100644 --- a/libqpdf/QPDFJob_config.cc +++ b/libqpdf/QPDFJob_config.cc @@ -1,4 +1,5 @@ #include + #include #include diff --git a/libqpdf/QPDFJob_json.cc b/libqpdf/QPDFJob_json.cc index c0de8666..89b4f09b 100644 --- a/libqpdf/QPDFJob_json.cc +++ b/libqpdf/QPDFJob_json.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/QPDFMatrix.cc b/libqpdf/QPDFMatrix.cc index 42dfcf5d..6ee9729e 100644 --- a/libqpdf/QPDFMatrix.cc +++ b/libqpdf/QPDFMatrix.cc @@ -1,4 +1,5 @@ #include + #include #include diff --git a/libqpdf/QPDFNameTreeObjectHelper.cc b/libqpdf/QPDFNameTreeObjectHelper.cc index 9b96cefa..d39a8d86 100644 --- a/libqpdf/QPDFNameTreeObjectHelper.cc +++ b/libqpdf/QPDFNameTreeObjectHelper.cc @@ -1,4 +1,5 @@ #include + #include class NameTreeDetails: public NNTreeDetails diff --git a/libqpdf/QPDFNumberTreeObjectHelper.cc b/libqpdf/QPDFNumberTreeObjectHelper.cc index 7f510497..a8dba0ef 100644 --- a/libqpdf/QPDFNumberTreeObjectHelper.cc +++ b/libqpdf/QPDFNumberTreeObjectHelper.cc @@ -1,4 +1,5 @@ #include + #include #include diff --git a/libqpdf/QPDFObjGen.cc b/libqpdf/QPDFObjGen.cc index 6f956239..341cd93a 100644 --- a/libqpdf/QPDFObjGen.cc +++ b/libqpdf/QPDFObjGen.cc @@ -1,4 +1,5 @@ #include + #include QPDFObjGen::QPDFObjGen() : diff --git a/libqpdf/QPDFOutlineDocumentHelper.cc b/libqpdf/QPDFOutlineDocumentHelper.cc index e43173f6..49a767bb 100644 --- a/libqpdf/QPDFOutlineDocumentHelper.cc +++ b/libqpdf/QPDFOutlineDocumentHelper.cc @@ -1,4 +1,5 @@ #include + #include QPDFOutlineDocumentHelper::Members::~Members() diff --git a/libqpdf/QPDFOutlineObjectHelper.cc b/libqpdf/QPDFOutlineObjectHelper.cc index c06c63d8..eae2b26b 100644 --- a/libqpdf/QPDFOutlineObjectHelper.cc +++ b/libqpdf/QPDFOutlineObjectHelper.cc @@ -1,4 +1,5 @@ #include + #include #include diff --git a/libqpdf/QPDFPageDocumentHelper.cc b/libqpdf/QPDFPageDocumentHelper.cc index 74b21e82..ab9875a9 100644 --- a/libqpdf/QPDFPageDocumentHelper.cc +++ b/libqpdf/QPDFPageDocumentHelper.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/QPDFPageLabelDocumentHelper.cc b/libqpdf/QPDFPageLabelDocumentHelper.cc index 6d8c34a0..f3bfa173 100644 --- a/libqpdf/QPDFPageLabelDocumentHelper.cc +++ b/libqpdf/QPDFPageLabelDocumentHelper.cc @@ -1,4 +1,5 @@ #include + #include QPDFPageLabelDocumentHelper::Members::~Members() diff --git a/libqpdf/QPDFPageObjectHelper.cc b/libqpdf/QPDFPageObjectHelper.cc index f9d63165..0dd6d894 100644 --- a/libqpdf/QPDFPageObjectHelper.cc +++ b/libqpdf/QPDFPageObjectHelper.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/QPDFSystemError.cc b/libqpdf/QPDFSystemError.cc index 73bad61e..775a65cf 100644 --- a/libqpdf/QPDFSystemError.cc +++ b/libqpdf/QPDFSystemError.cc @@ -1,4 +1,5 @@ #include + #include #include diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc index f426f151..66bf677a 100644 --- a/libqpdf/QPDFWriter.cc +++ b/libqpdf/QPDFWriter.cc @@ -1,4 +1,5 @@ #include // include first for large file support + #include #include diff --git a/libqpdf/QPDFXRefEntry.cc b/libqpdf/QPDFXRefEntry.cc index a0cad43e..aaab09d0 100644 --- a/libqpdf/QPDFXRefEntry.cc +++ b/libqpdf/QPDFXRefEntry.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/QPDF_Array.cc b/libqpdf/QPDF_Array.cc index d2091fab..40a58a0c 100644 --- a/libqpdf/QPDF_Array.cc +++ b/libqpdf/QPDF_Array.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/QPDF_Reserved.cc b/libqpdf/QPDF_Reserved.cc index 6cce2f2a..5a1fc7ad 100644 --- a/libqpdf/QPDF_Reserved.cc +++ b/libqpdf/QPDF_Reserved.cc @@ -1,4 +1,5 @@ #include + #include QPDF_Reserved::~QPDF_Reserved() diff --git a/libqpdf/QUtil.cc b/libqpdf/QUtil.cc index 5ae1dcdd..e3666d02 100644 --- a/libqpdf/QUtil.cc +++ b/libqpdf/QUtil.cc @@ -2,6 +2,7 @@ #include #include + #include #include #include diff --git a/libqpdf/RC4.cc b/libqpdf/RC4.cc index ae16f7f0..64c08091 100644 --- a/libqpdf/RC4.cc +++ b/libqpdf/RC4.cc @@ -1,4 +1,5 @@ #include + #include #include diff --git a/libqpdf/RC4_native.cc b/libqpdf/RC4_native.cc index 1e5c50f9..8559d9bd 100644 --- a/libqpdf/RC4_native.cc +++ b/libqpdf/RC4_native.cc @@ -1,4 +1,5 @@ #include + #include #include diff --git a/libqpdf/SF_FlateLzwDecode.cc b/libqpdf/SF_FlateLzwDecode.cc index 29064cc0..d444aef1 100644 --- a/libqpdf/SF_FlateLzwDecode.cc +++ b/libqpdf/SF_FlateLzwDecode.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/SHA2_native.cc b/libqpdf/SHA2_native.cc index 35c2bb05..c40b48b4 100644 --- a/libqpdf/SHA2_native.cc +++ b/libqpdf/SHA2_native.cc @@ -1,4 +1,5 @@ #include + #include #include #include diff --git a/libqpdf/SparseOHArray.cc b/libqpdf/SparseOHArray.cc index 972376b1..38822e6d 100644 --- a/libqpdf/SparseOHArray.cc +++ b/libqpdf/SparseOHArray.cc @@ -1,4 +1,5 @@ #include + #include SparseOHArray::SparseOHArray() : diff --git a/libqpdf/qpdf-c.cc b/libqpdf/qpdf-c.cc index cd2021f9..6f03a315 100644 --- a/libqpdf/qpdf-c.cc +++ b/libqpdf/qpdf-c.cc @@ -1,6 +1,7 @@ #include #include + #include #include #include