Max Bruckner
cf48ea8175
New Type: cJSON_Invalid
This assigns the macro cJSON_Invalid to 0.
8 years ago
Max Bruckner
702fd95af3
fix #106 : potentially invalid free in cJSON_AddItemToObject
8 years ago
Max Bruckner
94117a5d23
Fix #105 , double free when parse_string fails
This fixes a double free that happens when calling cJSON_Delete on an
item that has been used by parse_string and it failed parsing the
string.
The double free happens, because parse_string frees an alias of
item->valuestring, but doesn't set item->valuestring to NULL.
8 years ago
Max Bruckner
c3bd4463be
cJSON_Utils: Guard use of %lu format string for size_t
8 years ago
Max Bruckner
9d7e8f1175
cJSON_Utils: Add casts to unsigned long, fix #103
Thanks @rrvirtual for the suggestion.
8 years ago
Max Bruckner
4047de4f6e
fix potential NULL dereferences found by coverity
8 years ago
Max Bruckner
49b9336558
Merge pull request #92 from DaveGamble/tests
Introduce the cunity testing framework
8 years ago
Max Bruckner
d04a2aeccf
README: Document additional CMake options
8 years ago
Max Bruckner
33e01ae087
Add support for Travis-CI
8 years ago
Max Bruckner
a09defec4c
CMake: Add ENABLE_SANITIZERS flag
Enabling this flag enables AddressSanitizer and
UndefinedBehaviorSanitizer
8 years ago
Max Bruckner
21c02cd3e5
CMake: Add Valgrind support
8 years ago
Max Bruckner
5a36b71a80
unity-tests: parse_value
8 years ago
Max Bruckner
9041570eba
unity-tests: parse_object
8 years ago
Max Bruckner
71b05fd4c2
unity-tests: parse_array
8 years ago
Max Bruckner
598b609c45
unity-tests: parse_string
8 years ago
Max Bruckner
b0e5209bde
unity-tests: test parse_hex4
8 years ago
Max Bruckner
7fd536d7e0
unity-tests: parse_number
8 years ago
Max Bruckner
be0951dfa4
Move parse tests from test.c -> parse_example.c
8 years ago
Max Bruckner
86be961bb5
test.c: remove file related code
8 years ago
Max Bruckner
bb60d6def5
cunity: parse_examples: test example files
Test parsing and printing example files
8 years ago
Max Bruckner
896e52255b
CMake: Build unity as library
8 years ago
Max Bruckner
12acc57967
unity: make it work with -Wconversion
8 years ago
Max Bruckner
d19f3ae890
Merge commit '6b9b57be226a505a9c9cdd9ed029f22495ce04ec' as 'tests/unity'
8 years ago
Max Bruckner
6b9b57be22
Squashed 'tests/unity/' content from commit 1782bab
git-subtree-dir: tests/unity
git-subtree-split: 1782bab0bacd349a45bc215ff91f082912cd7a64
8 years ago
Max Bruckner
e65ea3a45b
Merge pull request #101 from DaveGamble/simplify-correctness
Simplify some code and improve correctness
8 years ago
Max Bruckner
87f77274de
cJSON_SetNumberValue: Fix undefined double to int conversion
This might cause slight changes in behavior, but it shouldn't break
anything that is not already broken (for example the original macro
could either return a double, or an integer or whatever depending on if
object is NULL or not.)
8 years ago
Max Bruckner
dded751757
parse_string: remove useless first byte marks for utf8
8 years ago
Max Bruckner
d7b5545748
parse_hex4: deduplicate into a for loop
8 years ago
Max Bruckner
0747669972
parse_number: Switch to C library's strtod
Replaces the hand written floating point parser with the C library
implementation.
8 years ago
Max Bruckner
f09bdef15e
Revert "test.c: Fix buffer overrun found by coverity"
This reverts commit c866abd842
.
The length of this buffer was intentional. This looks like a false
positive.
8 years ago
Max Bruckner
7119a16b5f
Merge pull request #100 from DaveGamble/goto-fail
Use goto fail for error handling and fix some memory leaks on the way
8 years ago
Max Bruckner
cc514583cc
cJSON_Duplicate: goto fail error handling
Simplify error handling using goto fail and improve some names.
8 years ago
Max Bruckner
021b174ee1
parse_object: goto fail error handling
Makes the control flow easier to reason about and fixes a few potential
memory leaks.
8 years ago
Max Bruckner
99cd9af7d5
parse_array: goto fail error handling
Makes the control flow easier to reason about and fixes a few potential
memory leaks.
8 years ago
Max Bruckner
8656386c4f
parse_string: goto fail error handling
Makes the control flow easier to reason about and fixes a few potential
memory leaks.
8 years ago
Max Bruckner
c866abd842
test.c: Fix buffer overrun found by coverity
8 years ago
Max Bruckner
1f5538f79d
CMake: Fix several problems with automatic flag detection
8 years ago
Max Bruckner
9ed906758e
fix null pointer dereferences found by coverity
8 years ago
Max Bruckner
2f712c7456
CMake: Fix compile flag detection on old CMake
8 years ago
Max Bruckner
d00ca18ac2
CMake: automatic detection of compiler flag compatibility
8 years ago
Max Bruckner
6cdb6894d4
Compiler flags: Add -fstack-protector-strong
8 years ago
Max Bruckner
ee0c920dff
fix: add break in UTF-16 handling
Introducing the switch defaults in an earlier commit made UTF-16 \u
sequence handling broken.
8 years ago
Max Bruckner
af6d5d3d7c
Add more consts to unsigned chars
8 years ago
Max Bruckner
cf9d57d56c
Fix incorrect return
8 years ago
Max Bruckner
4d95639001
Merge pull request #98 from DaveGamble/compiler-options
More compiler flags + correctness improvements
8 years ago
Max Bruckner
3d3bfc6a4d
Compiler flag -Wconversion
Makes type conversions explicit, if they alter a value
8 years ago
Max Bruckner
41e2837df1
Fix potentially undefined behavior when filling valueint
If the number is bigger or smaller than the biggest or smallest integer,
the behavior would be undefined.
This commit defines it as saturation behavior.
8 years ago
Max Bruckner
ecd5678527
Change all internal sizes to size_t
8 years ago
Max Bruckner
28b9ba4334
Change all internal strings to unsigned char*
8 years ago
Max Bruckner
b182ced1d6
Compiler flag -Wswitch-default + add defaults
8 years ago