diff --git a/README-maintainer b/README-maintainer index 49dc643..b43f183 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 697b3a3..26df954 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 95ca47c..4ab049c 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 9e9b4c1..6f692fc 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 f010b60..8cdb3fa 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 8375493..f08829b 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 84c72fc..6792c79 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 cd8feda..f4f3778 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 a0e81a7..f9f63f1 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 5b17e48..4def376 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 7e69d76..0a40c71 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 95edd3a..0b85de0 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 d4187e8..df5c967 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 abef296..ceb69c8 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 88eca4e..fabca39 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 7939eb6..e4ad374 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 f4ba192..6a58a32 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 9d9f670..21926d9 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 7845268..6fe4d95 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 9972b8e..73db555 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 c35619b..b245866 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 d5b53a0..a8b4086 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 0510e50..93a0c8a 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 a084194..5f2ae54 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 9a93f8f..65e5456 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 76932f2..8e3548e 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 3da7877..5057da4 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 253e36a..f19a84d 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 1dece9b..3facfec 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 a5b9f88..ce534d6 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 c492c45..2a47cd3 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 9c735e6..7e0ce7e 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 5f65da3..705f403 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 c57e153..f5fdba8 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 389b570..2234064 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 71e13cb..ef44c1c 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 77de5bb..6215f8a 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 b3df5e2..43be469 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 c84e31d..d6d8f56 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 e3d4a47..3d39582 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 8b2cd14..8aac6ca 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 c0de866..89b4f09 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 42dfcf5..6ee9729 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 9b96cef..d39a8d8 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 7f51049..a8dba0e 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 6f95623..341cd93 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 e43173f..49a767b 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 c06c63d..eae2b26 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 74b21e8..ab9875a 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 6d8c34a..f3bfa17 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 f9d6316..0dd6d89 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 73bad61..775a65c 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 f426f15..66bf677 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 a0cad43..aaab09d 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 d2091fa..40a58a0 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 6cce2f2..5a1fc7a 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 5ae1dcd..e3666d0 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 ae16f7f..64c0809 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 1e5c50f..8559d9b 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 29064cc..d444aef 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 35c2bb0..c40b48b 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 972376b..38822e6 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 cd2021f..6f03a31 100644 --- a/libqpdf/qpdf-c.cc +++ b/libqpdf/qpdf-c.cc @@ -1,6 +1,7 @@ #include #include + #include #include #include