summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-06-07Convert code base to strbuf_tNick Wellnhofer
There are probably a couple of places I missed. But this will only be a problem if we use a 64-bit bufsize_t at some point. Then, we'll get warnings from -Wshorten-64-to-32.
2015-06-07Change return type of cmark_strbuf_lenNick Wellnhofer
2015-06-07Missing bounds checks in buffer.cNick Wellnhofer
2015-06-07Remove unused function cmark_strbuf_attachNick Wellnhofer
This function was missing a couple of range checks that I'm too lazy to fix.
2015-06-07Fix check in cmark_strbuf_vprintfNick Wellnhofer
Avoid potential overflow and allow for different bufsize types.
2015-06-07Check for negative lengths in buffer.cNick Wellnhofer
2015-06-07Check for overflow when growing strbufsNick Wellnhofer
Replace macro ENSURE_SIZE with inline function S_strbuf_grow_by that checks for overflow.
2015-06-07Remove useless code in cmark_strbuf_growNick Wellnhofer
cmark_strbuf_grow will never truncate a buffer.
2015-06-07Account for null terminator in cmark_strbuf_growNick Wellnhofer
This simplifies overflow checks.
2015-06-07Check for overflow in cmark_strbuf_growNick Wellnhofer
2015-06-07Simplify oversizing of strbufsNick Wellnhofer
Always add 50% on top of target size. No need for a loop.
2015-06-07Use custom type bufsize_t for string buffer sizesNick Wellnhofer
This makes it easier to change the type later. No functional change. The rest of the code base still has to be adjusted to use the new type. Also add some TODO comments in buffer.c.
2015-06-07Switch cmark_markdown_to_html over to size_tNick Wellnhofer
2015-06-07Abort on strbuf errorsNick Wellnhofer
Users of the strbuf API are supposed to check for an OOM condition after appending to strbufs, but: * This is never done in the whole code base. * The implementation was flawed because only `ptr` was set to the OOM value without adjusting `size` and `asize`. After an error, subsequent calls could very well lead to segfaults, contrary to the documentation. Change the code to always abort on errors with a message printed to stderr. The only alternative is to propagate errors throughout the whole library which seems infeasible.
2015-06-06Merge pull request #54 from bryant/ensure-size-typoJohn MacFarlane
fix ENSURE_SIZE to actually check left arg length.
2015-06-06fix ENSURE_SIZE to actually check left arg length.bryant
2015-06-06Rename `is_line_end_char` to `S_is_line_end_char`.John MacFarlane
2015-06-06Factored out `S_find_first_nonspace` in `S_proces_line`.John MacFarlane
Added fields `offset`, `first_nonspace`, `indent`, and `blank` to `cmark_parser` struct. This just removes some repetition in the code.
2015-06-06astyle formatting changes.John MacFarlane
2015-06-06Allow new list item container indented > 4 spaces.John MacFarlane
This fixes cases like: ``` 1. a 2. b 3. c ```
2015-06-04Don't allow link labels with no non-whitespace characters.John MacFarlane
See jgm/CommonMark#322.
2015-06-04Cleaned up with is_line_end_char function.John MacFarlane
2015-06-03Revised "add newline to end if missing" for performance.John MacFarlane
From btrask's alternate code in the comment on https://github.com/jgm/cmark/pull/18. Note: this gives a 1-2% performance boot in our benchmark, probably enough to make it worth while.
2015-06-03Merge branch 'master' of https://github.com/btrask/cmark into btrask-masterJohn MacFarlane
Conflicts: src/blocks.c
2015-06-03Fixed bug in list item parsing when items indented >= 4 spaces.John MacFarlane
Closes #52.
2015-06-01Fixed `is_autolink`.John MacFarlane
Previously *any* link with an absolute URL was treated as an autolink. Closes #50. See also jgm/pandoc#2203.
2015-05-31Merge pull request #49 from jeroenooms/masterJohn MacFarlane
Fix for UBSAN note
2015-05-31Merge pull request #45 from nwellnhof/windows_snprintfJohn MacFarlane
Cope with broken snprintf on Windows
2015-05-31Removed -pg from Debug build flags.John MacFarlane
Closes #47.
2015-05-30Fix for UBSAN noteJeroen Ooms
2015-05-29Cope with broken snprintf on WindowsNick Wellnhofer
On Windows, snprintf returns -1 if the output was truncated. Fall back to Windows-specific _scprintf.
2015-05-29Revert "Ubsan: add -fsanitize=undefined to link flags too."John MacFarlane
This reverts commit 678bdab4a4421e64f7c36991a098ae6db730140b. This commit led to two -fsanitized=undefined in the same linker invocation.
2015-05-29Ubsan: add -fsanitize=undefined to link flags too.John MacFarlane
2015-05-29Added Ubsan build target, to check for undefined behavior.John MacFarlane
2015-05-14Allow NULL value in string settersNick Wellnhofer
Supersedes pull request #34.
2015-05-14Store link URL and title as cmark_chunkNick Wellnhofer
2015-05-07cmark_consolidate_text_nodes: Avoid an unnecessary string allocation.John MacFarlane
2015-05-07Multiple issues with numeric entitiesNick Wellnhofer
This closes #33.
2015-05-06cmark_consolidate_text_nodes: avoid some unnecessary allocation.John MacFarlane
This improves on #32, I think. @elibarzilay, does this look better? We now avoid the allocations associated with cmark_get_literal, and copy directly from the chunk to the buffer.
2015-05-04Better solution for memory leak in `cmark_consolidate_text_nodes`.John MacFarlane
This avoids allocating a new string. Closes #32.
2015-05-04Straightforward fix for memory leak #32.John MacFarlane
2015-04-27Fixed _ emphasis parsing to conform to spec.John MacFarlane
See jgm/CommonMark#317.
2015-04-26Suppress warnings about Windows runtime library filesNick Wellnhofer
Visual Studio Express editions do not include the redistributable files. Set CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS to suppress warnings.
2015-04-26Compile static library with -DCMARK_STATIC_DEFINENick Wellnhofer
Fixes warnings on Windows.
2015-04-25Revert "CMakeLists.txt: quote variable to avoid warning."John MacFarlane
This reverts commit 890a926dec02d8f024a4492248dbff4f84d37ff2. Conflicts: src/CMakeLists.txt
2015-04-25Really fixed cmake warning.John MacFarlane
2015-04-25CMakeLists.txt: quote variable to avoid warning.John MacFarlane
2015-04-19astyle reformatting.John MacFarlane
2015-04-16Pass-through Unicode non-charactersNick Wellnhofer
Despite their name, Unicode non-characters are valid code points. They should be passed through by a library like libcmark.
2015-04-15Check return status of utf8proc_iterate. Closes #27.John MacFarlane
If unicode parsing gives an error condition, we just skip the rest of the string without rendering anything and proceed. I'm not sure if that's the best way to handle this, but garbage in, garbage out. Note: this bug was found using american fuzzy lop.