-
-
Notifications
You must be signed in to change notification settings - Fork 393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: write_graph_lgl/ncol()
now refuse to write invalid files
#2504
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
szhorvat
force-pushed
the
fix/writing-invalid-lgl-ncol-files
branch
from
February 19, 2024 15:17
993fd66
to
91e0c80
Compare
I've just pushed the fuzz target I used to test this. |
ntamas
approved these changes
Feb 19, 2024
krlmlr
added a commit
to igraph/rigraph
that referenced
this pull request
Mar 2, 2024
do not generate full scanner tables with flex chore: improve readability of some code refactor: igraph_degree() now uses the cache when checking for self-loops refactor: minor readability cleanup for minimum_size_separators() chore: add note about empty minimal st separator fix tests: minor cleanup in regression tests chore: update changelog fix: correct `is_(minimal_)separator()` for disconnected graphs, fixes igraph/igraph#1480 tests: add more `is_separator()` tests tests: fix premature memory deallocation in is_separator example fix: igraph_all_minimal_st_separators() does not return empty separators any more, fixes igraph/igraph#2517 fix: GraphML reader does not accept duplicate attribute names any more, fixes igraph/igraph#2506 fuzzing: assertion readability in vertex separator fuzzer fuzzing: improve vertex separator fuzzers docs: doc improvements for ECC and Voronoi refactor: minor prettification in trie code fix: assert that keys in a trie are not NULL to make Coverity happy refactor: improved error messages from C attribute handler (igraph/igraph#2513) chore: updated changelog fix: prevent insertion of empty keys in a trie fix: prevent empty ID attributes for <key> tags in GraphML docs: change mentions to pointer vectors to vector lists where appropriate & other improvements fix: -CF causes buffer overflows with Flex, try -Cf instead fix: bug_2506 test case should not be run if igraph is compiled without GraphML support ci: run apt-get update in codeql-analysis pipeline fix: fix attribute value comparison in igraph_read_graph_graphml() fix: fix duplicate attribute detection in igraph_read_graph_graphml(), fixes igraph/igraph#2506 refactor: make use of IGRAPH_CHECK_OOM() in a few places style: fix wording for a few warnings refactor: more detailed error messages in C attribute handler refactor: experimental `-Cf` option for Flex for better performance at the cost of larger code size. Hopefully this avoids fuzzer timeouts. fix: `igraph_disjoint_union()` and `igraph_disjoint_union_many()` now check for overflow chore: Update CONTRIBUTING.md fuzzing: expand file format round-tripping fuzzers fix: disallow writing invalid graph attributes to GML files, fixes igraph/igraph#2505 fuzzing: write_all fuzzer fixes refactor: remove non-exposed igraph_maximum_matching() function whihc was already noted as removed in the 0.10 changelog fuzzing: activate write_all fuzzer fuzzing: add cohesive_blocks() Merge pull request igraph/igraph#2504 from igraph/fix/writing-invalid-lgl-ncol-files
aviator-app bot
pushed a commit
to igraph/rigraph
that referenced
this pull request
Mar 2, 2024
do not generate full scanner tables with flex chore: improve readability of some code refactor: igraph_degree() now uses the cache when checking for self-loops refactor: minor readability cleanup for minimum_size_separators() chore: add note about empty minimal st separator fix tests: minor cleanup in regression tests chore: update changelog fix: correct `is_(minimal_)separator()` for disconnected graphs, fixes igraph/igraph#1480 tests: add more `is_separator()` tests tests: fix premature memory deallocation in is_separator example fix: igraph_all_minimal_st_separators() does not return empty separators any more, fixes igraph/igraph#2517 fix: GraphML reader does not accept duplicate attribute names any more, fixes igraph/igraph#2506 fuzzing: assertion readability in vertex separator fuzzer fuzzing: improve vertex separator fuzzers docs: doc improvements for ECC and Voronoi refactor: minor prettification in trie code fix: assert that keys in a trie are not NULL to make Coverity happy refactor: improved error messages from C attribute handler (igraph/igraph#2513) chore: updated changelog fix: prevent insertion of empty keys in a trie fix: prevent empty ID attributes for <key> tags in GraphML docs: change mentions to pointer vectors to vector lists where appropriate & other improvements fix: -CF causes buffer overflows with Flex, try -Cf instead fix: bug_2506 test case should not be run if igraph is compiled without GraphML support ci: run apt-get update in codeql-analysis pipeline fix: fix attribute value comparison in igraph_read_graph_graphml() fix: fix duplicate attribute detection in igraph_read_graph_graphml(), fixes igraph/igraph#2506 refactor: make use of IGRAPH_CHECK_OOM() in a few places style: fix wording for a few warnings refactor: more detailed error messages in C attribute handler refactor: experimental `-Cf` option for Flex for better performance at the cost of larger code size. Hopefully this avoids fuzzer timeouts. fix: `igraph_disjoint_union()` and `igraph_disjoint_union_many()` now check for overflow chore: Update CONTRIBUTING.md fuzzing: expand file format round-tripping fuzzers fix: disallow writing invalid graph attributes to GML files, fixes igraph/igraph#2505 fuzzing: write_all fuzzer fixes refactor: remove non-exposed igraph_maximum_matching() function whihc was already noted as removed in the 0.10 changelog fuzzing: activate write_all fuzzer fuzzing: add cohesive_blocks() Merge pull request igraph/igraph#2504 from igraph/fix/writing-invalid-lgl-ncol-files
krlmlr
added a commit
to igraph/rigraph
that referenced
this pull request
Mar 2, 2024
do not generate full scanner tables with flex chore: improve readability of some code refactor: igraph_degree() now uses the cache when checking for self-loops refactor: minor readability cleanup for minimum_size_separators() chore: add note about empty minimal st separator fix tests: minor cleanup in regression tests chore: update changelog fix: correct `is_(minimal_)separator()` for disconnected graphs, fixes igraph/igraph#1480 tests: add more `is_separator()` tests tests: fix premature memory deallocation in is_separator example fix: igraph_all_minimal_st_separators() does not return empty separators any more, fixes igraph/igraph#2517 fix: GraphML reader does not accept duplicate attribute names any more, fixes igraph/igraph#2506 fuzzing: assertion readability in vertex separator fuzzer fuzzing: improve vertex separator fuzzers docs: doc improvements for ECC and Voronoi refactor: minor prettification in trie code fix: assert that keys in a trie are not NULL to make Coverity happy refactor: improved error messages from C attribute handler (igraph/igraph#2513) chore: updated changelog fix: prevent insertion of empty keys in a trie fix: prevent empty ID attributes for <key> tags in GraphML docs: change mentions to pointer vectors to vector lists where appropriate & other improvements fix: -CF causes buffer overflows with Flex, try -Cf instead fix: bug_2506 test case should not be run if igraph is compiled without GraphML support ci: run apt-get update in codeql-analysis pipeline fix: fix attribute value comparison in igraph_read_graph_graphml() fix: fix duplicate attribute detection in igraph_read_graph_graphml(), fixes igraph/igraph#2506 refactor: make use of IGRAPH_CHECK_OOM() in a few places style: fix wording for a few warnings refactor: more detailed error messages in C attribute handler refactor: experimental `-Cf` option for Flex for better performance at the cost of larger code size. Hopefully this avoids fuzzer timeouts. fix: `igraph_disjoint_union()` and `igraph_disjoint_union_many()` now check for overflow chore: Update CONTRIBUTING.md fuzzing: expand file format round-tripping fuzzers fix: disallow writing invalid graph attributes to GML files, fixes igraph/igraph#2505 fuzzing: write_all fuzzer fixes refactor: remove non-exposed igraph_maximum_matching() function whihc was already noted as removed in the 0.10 changelog fuzzing: activate write_all fuzzer fuzzing: add cohesive_blocks() Merge pull request igraph/igraph#2504 from igraph/fix/writing-invalid-lgl-ncol-files
krlmlr
added a commit
to igraph/rigraph
that referenced
this pull request
Mar 3, 2024
chore: update changelog feat: igraph_is_complete() checks if a graph is complete (igraph/igraph#2510) Merge pull request igraph/igraph#2525 from igraph/fix/linegraph-keep-loops do not generate full scanner tables with flex chore: improve readability of some code refactor: igraph_degree() now uses the cache when checking for self-loops refactor: minor readability cleanup for minimum_size_separators() chore: add note about empty minimal st separator fix tests: minor cleanup in regression tests chore: update changelog fix: correct `is_(minimal_)separator()` for disconnected graphs, fixes igraph/igraph#1480 tests: add more `is_separator()` tests tests: fix premature memory deallocation in is_separator example fix: igraph_all_minimal_st_separators() does not return empty separators any more, fixes igraph/igraph#2517 fix: GraphML reader does not accept duplicate attribute names any more, fixes igraph/igraph#2506 fuzzing: assertion readability in vertex separator fuzzer fuzzing: improve vertex separator fuzzers docs: doc improvements for ECC and Voronoi refactor: minor prettification in trie code fix: assert that keys in a trie are not NULL to make Coverity happy refactor: improved error messages from C attribute handler (igraph/igraph#2513) chore: updated changelog fix: prevent insertion of empty keys in a trie fix: prevent empty ID attributes for <key> tags in GraphML docs: change mentions to pointer vectors to vector lists where appropriate & other improvements fix: -CF causes buffer overflows with Flex, try -Cf instead fix: bug_2506 test case should not be run if igraph is compiled without GraphML support ci: run apt-get update in codeql-analysis pipeline fix: fix attribute value comparison in igraph_read_graph_graphml() fix: fix duplicate attribute detection in igraph_read_graph_graphml(), fixes igraph/igraph#2506 refactor: make use of IGRAPH_CHECK_OOM() in a few places style: fix wording for a few warnings refactor: more detailed error messages in C attribute handler refactor: experimental `-Cf` option for Flex for better performance at the cost of larger code size. Hopefully this avoids fuzzer timeouts. fix: `igraph_disjoint_union()` and `igraph_disjoint_union_many()` now check for overflow chore: Update CONTRIBUTING.md fuzzing: expand file format round-tripping fuzzers fix: disallow writing invalid graph attributes to GML files, fixes igraph/igraph#2505 fuzzing: write_all fuzzer fixes refactor: remove non-exposed igraph_maximum_matching() function whihc was already noted as removed in the 0.10 changelog fuzzing: activate write_all fuzzer fuzzing: add cohesive_blocks() Merge pull request igraph/igraph#2504 from igraph/fix/writing-invalid-lgl-ncol-files docs: document that `write_graph_graphml()` assumes that strings are UTF-8 encoded, fixes igraph/igraph#2503 docs: mention that the variation of information is in natural units
krlmlr
added a commit
to igraph/rigraph
that referenced
this pull request
Mar 3, 2024
chore: update changelog feat: igraph_is_complete() checks if a graph is complete (igraph/igraph#2510) Merge pull request igraph/igraph#2525 from igraph/fix/linegraph-keep-loops do not generate full scanner tables with flex chore: improve readability of some code refactor: igraph_degree() now uses the cache when checking for self-loops refactor: minor readability cleanup for minimum_size_separators() chore: add note about empty minimal st separator fix tests: minor cleanup in regression tests chore: update changelog fix: correct `is_(minimal_)separator()` for disconnected graphs, fixes igraph/igraph#1480 tests: add more `is_separator()` tests tests: fix premature memory deallocation in is_separator example fix: igraph_all_minimal_st_separators() does not return empty separators any more, fixes igraph/igraph#2517 fix: GraphML reader does not accept duplicate attribute names any more, fixes igraph/igraph#2506 fuzzing: assertion readability in vertex separator fuzzer fuzzing: improve vertex separator fuzzers docs: doc improvements for ECC and Voronoi refactor: minor prettification in trie code fix: assert that keys in a trie are not NULL to make Coverity happy refactor: improved error messages from C attribute handler (igraph/igraph#2513) chore: updated changelog fix: prevent insertion of empty keys in a trie fix: prevent empty ID attributes for <key> tags in GraphML docs: change mentions to pointer vectors to vector lists where appropriate & other improvements fix: -CF causes buffer overflows with Flex, try -Cf instead fix: bug_2506 test case should not be run if igraph is compiled without GraphML support ci: run apt-get update in codeql-analysis pipeline fix: fix attribute value comparison in igraph_read_graph_graphml() fix: fix duplicate attribute detection in igraph_read_graph_graphml(), fixes igraph/igraph#2506 refactor: make use of IGRAPH_CHECK_OOM() in a few places style: fix wording for a few warnings refactor: more detailed error messages in C attribute handler refactor: experimental `-Cf` option for Flex for better performance at the cost of larger code size. Hopefully this avoids fuzzer timeouts. fix: `igraph_disjoint_union()` and `igraph_disjoint_union_many()` now check for overflow chore: Update CONTRIBUTING.md fuzzing: expand file format round-tripping fuzzers fix: disallow writing invalid graph attributes to GML files, fixes igraph/igraph#2505 fuzzing: write_all fuzzer fixes refactor: remove non-exposed igraph_maximum_matching() function whihc was already noted as removed in the 0.10 changelog fuzzing: activate write_all fuzzer fuzzing: add cohesive_blocks() Merge pull request igraph/igraph#2504 from igraph/fix/writing-invalid-lgl-ncol-files docs: document that `write_graph_graphml()` assumes that strings are UTF-8 encoded, fixes igraph/igraph#2503 docs: mention that the variation of information is in natural units
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This prevents the NCOL and LGL writers from creating invalid files that cannot be read back, and protects users from data loss. It also makes it easier to implement fuzzers for file format writers.
UTF-8 won't be affected as it uses
>= 128
bytes for encoding higher code points.