aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/jsonb.c
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2014-12-16 10:32:06 -0500
committerAndrew Dunstan <andrew@dunslane.net>2014-12-16 10:32:06 -0500
commitc8315930e6a34b616d9840985c85eb0d856dd2df (patch)
tree55cccd7d95a0dd1f2bc79ac79b1c8d648f2433d7 /src/backend/utils/adt/jsonb.c
parent4d65e16a6ff609701a8780d3cddbae02c6e20926 (diff)
downloadpostgresql-c8315930e6a34b616d9840985c85eb0d856dd2df.tar.gz
postgresql-c8315930e6a34b616d9840985c85eb0d856dd2df.zip
Fix some jsonb issues found by Coverity in recent commits.
Mostly these issues concern the non-use of function results. These have been changed to use (void) pushJsonbValue(...) instead of assigning the result to a variable that gets overwritten before it is used. There is a larger issue that we should possibly examine the API for pushJsonbValue(), so that instead of returning a value it modifies a state argument. The current idiom is rather clumsy. However, changing that requires quite a bit more work, so this change should do for the moment.
Diffstat (limited to 'src/backend/utils/adt/jsonb.c')
-rw-r--r--src/backend/utils/adt/jsonb.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/backend/utils/adt/jsonb.c b/src/backend/utils/adt/jsonb.c
index a520b361b83..80c8ee11350 100644
--- a/src/backend/utils/adt/jsonb.c
+++ b/src/backend/utils/adt/jsonb.c
@@ -1194,7 +1194,7 @@ jsonb_build_object_noargs(PG_FUNCTION_ARGS)
memset(&result, 0, sizeof(JsonbInState));
- result.res = pushJsonbValue(&result.parseState, WJB_BEGIN_OBJECT, NULL);
+ (void) pushJsonbValue(&result.parseState, WJB_BEGIN_OBJECT, NULL);
result.res = pushJsonbValue(&result.parseState, WJB_END_OBJECT, NULL);
PG_RETURN_POINTER(JsonbValueToJsonb(result.res));
@@ -1255,7 +1255,7 @@ jsonb_build_array_noargs(PG_FUNCTION_ARGS)
memset(&result, 0, sizeof(JsonbInState));
- result.res = pushJsonbValue(&result.parseState, WJB_BEGIN_ARRAY, NULL);
+ (void) pushJsonbValue(&result.parseState, WJB_BEGIN_ARRAY, NULL);
result.res = pushJsonbValue(&result.parseState, WJB_END_ARRAY, NULL);
PG_RETURN_POINTER(JsonbValueToJsonb(result.res));
@@ -1283,7 +1283,7 @@ jsonb_object(PG_FUNCTION_ARGS)
memset(&result, 0, sizeof(JsonbInState));
- result.res = pushJsonbValue(&result.parseState, WJB_BEGIN_OBJECT, NULL);
+ (void) pushJsonbValue(&result.parseState, WJB_BEGIN_OBJECT, NULL);
switch (ndims)
{
@@ -1336,7 +1336,7 @@ jsonb_object(PG_FUNCTION_ARGS)
v.val.string.len = len;
v.val.string.val = str;
- result.res = pushJsonbValue(&result.parseState, WJB_KEY, &v);
+ (void) pushJsonbValue(&result.parseState, WJB_KEY, &v);
if (in_nulls[i * 2 + 1])
{
@@ -1353,7 +1353,7 @@ jsonb_object(PG_FUNCTION_ARGS)
v.val.string.val = str;
}
- result.res = pushJsonbValue(&result.parseState, WJB_VALUE, &v);
+ (void) pushJsonbValue(&result.parseState, WJB_VALUE, &v);
}
pfree(in_datums);
@@ -1389,7 +1389,7 @@ jsonb_object_two_arg(PG_FUNCTION_ARGS)
memset(&result, 0, sizeof(JsonbInState));
- result.res = pushJsonbValue(&result.parseState, WJB_BEGIN_OBJECT, NULL);
+ (void) pushJsonbValue(&result.parseState, WJB_BEGIN_OBJECT, NULL);
if (nkdims > 1 || nkdims != nvdims)
ereport(ERROR,
@@ -1431,7 +1431,7 @@ jsonb_object_two_arg(PG_FUNCTION_ARGS)
v.val.string.len = len;
v.val.string.val = str;
- result.res = pushJsonbValue(&result.parseState, WJB_KEY, &v);
+ (void) pushJsonbValue(&result.parseState, WJB_KEY, &v);
if (val_nulls[i])
{
@@ -1448,7 +1448,7 @@ jsonb_object_two_arg(PG_FUNCTION_ARGS)
v.val.string.val = str;
}
- result.res = pushJsonbValue(&result.parseState, WJB_VALUE, &v);
+ (void) pushJsonbValue(&result.parseState, WJB_VALUE, &v);
}
result.res = pushJsonbValue(&result.parseState, WJB_END_OBJECT, NULL);