Drop obsolete patches from repo
This commit is contained in:
parent
455372c92a
commit
89b6155aab
@ -1,61 +0,0 @@
|
||||
From f8c632f579c71012f9aca81543b880a579f634fc Mon Sep 17 00:00:00 2001
|
||||
From: Eric Haszlakiewicz <erh+git@nimenees.com>
|
||||
Date: Sun, 25 Mar 2018 18:25:58 -0400
|
||||
Subject: [PATCH] Issue #407: fix incorrect casts in calls to ctype functions
|
||||
(isdigit and isspace) so we don't crash when asserts are enabled on certain
|
||||
platforms and characters > 128 are parsed.
|
||||
|
||||
---
|
||||
json_object.c | 2 +-
|
||||
json_pointer.c | 4 ++--
|
||||
json_tokener.c | 2 +-
|
||||
3 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/json_object.c b/json_object.c
|
||||
index 8287163a1c..8a86bc6ea0 100644
|
||||
--- a/json_object.c
|
||||
+++ b/json_object.c
|
||||
@@ -838,7 +838,7 @@ static int json_object_double_to_json_string_format(struct json_object* jso,
|
||||
format_drops_decimals = 1;
|
||||
|
||||
if (size < (int)sizeof(buf) - 2 &&
|
||||
- isdigit((int)buf[0]) && /* Looks like *some* kind of number */
|
||||
+ isdigit((unsigned char)buf[0]) && /* Looks like *some* kind of number */
|
||||
!p && /* Has no decimal point */
|
||||
strchr(buf, 'e') == NULL && /* Not scientific notation */
|
||||
format_drops_decimals)
|
||||
diff --git a/json_pointer.c b/json_pointer.c
|
||||
index 2b2a9ef507..c7e34f76f3 100644
|
||||
--- a/json_pointer.c
|
||||
+++ b/json_pointer.c
|
||||
@@ -44,7 +44,7 @@ static int is_valid_index(struct json_object *jo, const char *path, int32_t *idx
|
||||
/* this code-path optimizes a bit, for when we reference the 0-9 index range in a JSON array
|
||||
and because leading zeros not allowed */
|
||||
if (len == 1) {
|
||||
- if (isdigit((int)path[0])) {
|
||||
+ if (isdigit((unsigned char)path[0])) {
|
||||
*idx = (path[0] - '0');
|
||||
goto check_oob;
|
||||
}
|
||||
@@ -58,7 +58,7 @@ static int is_valid_index(struct json_object *jo, const char *path, int32_t *idx
|
||||
}
|
||||
/* RFC states base-10 decimals */
|
||||
for (i = 0; i < len; i++) {
|
||||
- if (!isdigit((int)path[i])) {
|
||||
+ if (!isdigit((unsigned char)path[i])) {
|
||||
errno = EINVAL;
|
||||
return 0;
|
||||
}
|
||||
diff --git a/json_tokener.c b/json_tokener.c
|
||||
index 449a82da6f..561f7303b2 100644
|
||||
--- a/json_tokener.c
|
||||
+++ b/json_tokener.c
|
||||
@@ -295,7 +295,7 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
|
||||
|
||||
case json_tokener_state_eatws:
|
||||
/* Advance until we change state */
|
||||
- while (isspace((int)c)) {
|
||||
+ while (isspace((unsigned char)c)) {
|
||||
if ((!ADVANCE_CHAR(str, tok)) || (!PEEK_CHAR(c, tok)))
|
||||
goto out;
|
||||
}
|
@ -1,163 +0,0 @@
|
||||
From 8bd62177e796386fb6382db101c90b57b6138afe Mon Sep 17 00:00:00 2001
|
||||
From: janczer <menshikov.ivn@gmail.com>
|
||||
Date: Tue, 24 Apr 2018 16:00:38 +0200
|
||||
Subject: [PATCH] Fixed typos
|
||||
|
||||
---
|
||||
STYLE.txt | 2 +-
|
||||
json_object.h | 18 +++++++++---------
|
||||
json_pointer.c | 2 +-
|
||||
tests/test_compare.c | 12 ++++++------
|
||||
tests/test_compare.expected | 6 +++---
|
||||
5 files changed, 20 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/STYLE.txt b/STYLE.txt
|
||||
index e5acd14820..195883c760 100755
|
||||
--- a/STYLE.txt
|
||||
+++ b/STYLE.txt
|
||||
@@ -7,7 +7,7 @@ Official json-c style:
|
||||
Aim for readability, not strict conformance to fixed style rules.
|
||||
These rules are not comprehensive. Look to existing code for guidelines.
|
||||
Indentation is tab based, with continuations of long lines starting with tabs then spaces for alignment.
|
||||
-Try to line up components of continuation lines with corresponding part of the line above (i.e. "indent -lp" effect), but avoid excessive identation tha causes extra line wraps.
|
||||
+Try to line up components of continuation lines with corresponding part of the line above (i.e. "indent -lp" effect), but avoid excessive indentation tha causes extra line wraps.
|
||||
e.g. (T=tab, S=space):
|
||||
TTTTsome_long_func_call(arg1, arg2,
|
||||
TTTTSSSSSSSSSSSSSSSSSSSarg3, arg4);
|
||||
diff --git a/json_object.h b/json_object.h
|
||||
index a3a86c0912..30341bcdb7 100644
|
||||
--- a/json_object.h
|
||||
+++ b/json_object.h
|
||||
@@ -91,7 +91,7 @@ extern "C" {
|
||||
/**
|
||||
* A flag for the json_object_object_add_ex function which
|
||||
* causes the value to be added without a check if it already exists.
|
||||
- * Note: it is the responsibilty of the caller to ensure that no
|
||||
+ * Note: it is the responsibility of the caller to ensure that no
|
||||
* key is added multiple times. If this is done, results are
|
||||
* unpredictable. While this option is somewhat dangerous, it
|
||||
* permits potentially large performance savings in code that
|
||||
@@ -442,7 +442,7 @@ JSON_EXPORT int json_object_object_add_ex(struct json_object* obj,
|
||||
*
|
||||
* This returns NULL if the field is found but its value is null, or if
|
||||
* the field is not found, or if obj is not a json_type_object. If you
|
||||
- * need to distinguis between these cases, use json_object_object_get_ex().
|
||||
+ * need to distinguish between these cases, use json_object_object_get_ex().
|
||||
*
|
||||
* *No* reference counts will be changed. There is no need to manually adjust
|
||||
* reference counts through the json_object_put/json_object_get methods unless
|
||||
@@ -624,7 +624,7 @@ JSON_EXPORT int json_object_array_add(struct json_object *obj,
|
||||
JSON_EXPORT int json_object_array_put_idx(struct json_object *obj, size_t idx,
|
||||
struct json_object *val);
|
||||
|
||||
-/** Get the element at specificed index of the array (a json_object of type json_type_array)
|
||||
+/** Get the element at specified index of the array (a json_object of type json_type_array)
|
||||
* @param obj the json_object instance
|
||||
* @param idx the index to get the element at
|
||||
* @returns the json_object at the specified index (or NULL)
|
||||
@@ -671,7 +671,7 @@ JSON_EXPORT json_bool json_object_get_boolean(const struct json_object *obj);
|
||||
*
|
||||
* The type of obj is checked to be a json_type_boolean and 0 is returned
|
||||
* if it is not without any further actions. If type of obj is json_type_boolean
|
||||
- * the obect value is chaned to new_value
|
||||
+ * the object value is changed to new_value
|
||||
*
|
||||
* @param obj the json_object instance
|
||||
* @param new_value the value to be set
|
||||
@@ -718,7 +718,7 @@ JSON_EXPORT int32_t json_object_get_int(const struct json_object *obj);
|
||||
*
|
||||
* The type of obj is checked to be a json_type_int and 0 is returned
|
||||
* if it is not without any further actions. If type of obj is json_type_int
|
||||
- * the obect value is changed to new_value
|
||||
+ * the object value is changed to new_value
|
||||
*
|
||||
* @param obj the json_object instance
|
||||
* @param new_value the value to be set
|
||||
@@ -763,7 +763,7 @@ JSON_EXPORT int64_t json_object_get_int64(const struct json_object *obj);
|
||||
*
|
||||
* The type of obj is checked to be a json_type_int and 0 is returned
|
||||
* if it is not without any further actions. If type of obj is json_type_int
|
||||
- * the obect value is chaned to new_value
|
||||
+ * the object value is changed to new_value
|
||||
*
|
||||
* @param obj the json_object instance
|
||||
* @param new_value the value to be set
|
||||
@@ -880,7 +880,7 @@ JSON_EXPORT double json_object_get_double(const struct json_object *obj);
|
||||
*
|
||||
* The type of obj is checked to be a json_type_double and 0 is returned
|
||||
* if it is not without any further actions. If type of obj is json_type_double
|
||||
- * the obect value is chaned to new_value
|
||||
+ * the object value is changed to new_value
|
||||
*
|
||||
* @param obj the json_object instance
|
||||
* @param new_value the value to be set
|
||||
@@ -942,10 +942,10 @@ JSON_EXPORT int json_object_set_string(json_object* obj, const char* new_value);
|
||||
*
|
||||
* The type of obj is checked to be a json_type_string and 0 is returned
|
||||
* if it is not without any further actions. If type of obj is json_type_string
|
||||
- * the obect value is chaned to new_value
|
||||
+ * the object value is changed to new_value
|
||||
*
|
||||
* @param obj the json_object instance
|
||||
- * @param new_value the value to be set; Since string legth is given in len this need not be zero terminated
|
||||
+ * @param new_value the value to be set; Since string length is given in len this need not be zero terminated
|
||||
* @param len the length of new_value
|
||||
* @returns 1 if value is set correctly, 0 otherwise
|
||||
*/
|
||||
diff --git a/json_pointer.c b/json_pointer.c
|
||||
index c7e34f76f3..9531c036c8 100644
|
||||
--- a/json_pointer.c
|
||||
+++ b/json_pointer.c
|
||||
@@ -28,7 +28,7 @@
|
||||
static void string_replace_all_occurrences_with_char(char *s, const char *occur, char repl_char)
|
||||
{
|
||||
int slen = strlen(s);
|
||||
- int skip = strlen(occur) - 1; /* length of the occurence, minus the char we're replacing */
|
||||
+ int skip = strlen(occur) - 1; /* length of the occurrence, minus the char we're replacing */
|
||||
char *p = s;
|
||||
while ((p = strstr(p, occur))) {
|
||||
*p = repl_char;
|
||||
diff --git a/tests/test_compare.c b/tests/test_compare.c
|
||||
index c7e44f6ea6..cba328cf4b 100644
|
||||
--- a/tests/test_compare.c
|
||||
+++ b/tests/test_compare.c
|
||||
@@ -18,19 +18,19 @@ int main()
|
||||
struct json_object *int3 = json_object_new_int(1);
|
||||
|
||||
if (!json_object_equal(int1, int2))
|
||||
- printf("JSON integer comparision is correct\n");
|
||||
+ printf("JSON integer comparison is correct\n");
|
||||
else
|
||||
- printf("JSON integer comparision failed\n");
|
||||
+ printf("JSON integer comparison failed\n");
|
||||
|
||||
if (json_object_equal(int1, int1))
|
||||
- printf("JSON same object comparision is correct\n");
|
||||
+ printf("JSON same object comparison is correct\n");
|
||||
else
|
||||
- printf("JSON same object comparision failed\n");
|
||||
+ printf("JSON same object comparison failed\n");
|
||||
|
||||
if (json_object_equal(int2, int3))
|
||||
- printf("JSON same integer comparision is correct\n");
|
||||
+ printf("JSON same integer comparison is correct\n");
|
||||
else
|
||||
- printf("JSON same integer comparision failed\n");
|
||||
+ printf("JSON same integer comparison failed\n");
|
||||
|
||||
json_object_put(int1);
|
||||
json_object_put(int2);
|
||||
diff --git a/tests/test_compare.expected b/tests/test_compare.expected
|
||||
index 46f03c4101..5468f83d2e 100644
|
||||
--- a/tests/test_compare.expected
|
||||
+++ b/tests/test_compare.expected
|
||||
@@ -1,6 +1,6 @@
|
||||
-JSON integer comparision is correct
|
||||
-JSON same object comparision is correct
|
||||
-JSON same integer comparision is correct
|
||||
+JSON integer comparison is correct
|
||||
+JSON same object comparison is correct
|
||||
+JSON same integer comparison is correct
|
||||
Comparing equal strings is correct
|
||||
Comparing different strings is correct
|
||||
Comparing equal doubles is correct
|
@ -1,75 +0,0 @@
|
||||
From da4b34355da023c439e96bc6ca31886cd69d6bdb Mon Sep 17 00:00:00 2001
|
||||
From: Eric Haszlakiewicz <erh+git@nimenees.com>
|
||||
Date: Sun, 25 Mar 2018 18:23:42 -0400
|
||||
Subject: [PATCH] Add an parse test for content starting with a UTF8 BOM, which
|
||||
is _not_ a valid start to a JSON message.
|
||||
|
||||
---
|
||||
tests/test_parse.c | 16 +++++++++++++++-
|
||||
tests/test_parse.expected | 5 ++++-
|
||||
2 files changed, 19 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tests/test_parse.c b/tests/test_parse.c
|
||||
index ee1f8387b3..f46651b0a1 100644
|
||||
--- a/tests/test_parse.c
|
||||
+++ b/tests/test_parse.c
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "json_visit.h"
|
||||
|
||||
static void test_basic_parse(void);
|
||||
+static void test_utf8_parse(void);
|
||||
static void test_verbose_parse(void);
|
||||
static void test_incremental_parse(void);
|
||||
|
||||
@@ -19,6 +20,8 @@ int main(void)
|
||||
static const char separator[] = "==================================";
|
||||
test_basic_parse();
|
||||
puts(separator);
|
||||
+ test_utf8_parse();
|
||||
+ puts(separator);
|
||||
test_verbose_parse();
|
||||
puts(separator);
|
||||
test_incremental_parse();
|
||||
@@ -107,6 +110,17 @@ static void test_basic_parse()
|
||||
single_basic_parse("[18446744073709551616]", 1);
|
||||
}
|
||||
|
||||
+static void test_utf8_parse()
|
||||
+{
|
||||
+ // json_tokener_parse doesn't support checking for byte order marks.
|
||||
+ // It's the responsibility of the caller to detect and skip a BOM.
|
||||
+ // Both of these checks return null.
|
||||
+ char utf8_bom[] = { 0xEF, 0xBB, 0xBF, 0x00 };
|
||||
+ char utf8_bom_and_chars[] = { 0xEF, 0xBB, 0xBF, '{', '}', 0x00 };
|
||||
+ single_basic_parse(utf8_bom, 0);
|
||||
+ single_basic_parse(utf8_bom_and_chars, 0);
|
||||
+}
|
||||
+
|
||||
// Clear the re-serialization information that the tokener
|
||||
// saves to ensure that the output reflects the actual
|
||||
// values we parsed, rather than just the original input.
|
||||
@@ -145,7 +159,7 @@ static void test_verbose_parse()
|
||||
/* b/c the string starts with 'f' parsing return a boolean error */
|
||||
assert (error == json_tokener_error_parse_boolean);
|
||||
|
||||
- puts("json_tokener_parse_versbose() OK");
|
||||
+ puts("json_tokener_parse_verbose() OK");
|
||||
}
|
||||
|
||||
struct incremental_step {
|
||||
diff --git a/tests/test_parse.expected b/tests/test_parse.expected
|
||||
index ada61411fe..5d3976a745 100644
|
||||
--- a/tests/test_parse.expected
|
||||
+++ b/tests/test_parse.expected
|
||||
@@ -51,7 +51,10 @@ new_obj.to_string([0e+])=[ 0.0 ]
|
||||
new_obj.to_string([0e+-1])=null
|
||||
new_obj.to_string([18446744073709551616])=[ 9223372036854775807 ]
|
||||
==================================
|
||||
-json_tokener_parse_versbose() OK
|
||||
+new_obj.to_string()=null
|
||||
+new_obj.to_string({})=null
|
||||
+==================================
|
||||
+json_tokener_parse_verbose() OK
|
||||
==================================
|
||||
Starting incremental tests.
|
||||
Note: quotes and backslashes seen in the output here are literal values passed
|
Loading…
Reference in New Issue
Block a user