aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Barksdale <amatus@amat.us>2018-02-05 21:52:21 -0600
committerDavid Barksdale <amatus@amat.us>2018-02-05 21:52:21 -0600
commitb673e9c3ed4a211b974bc602b893a427533566d7 (patch)
treee06ecf49866d309a7014dbcbd02f7f9bc2afcb01 /src
parent5c277f0ddb5d8335424157b861ab1003d4a66a63 (diff)
fix datstore bind issue for real this time
Diffstat (limited to 'src')
-rw-r--r--src/datastore/plugin_datastore_sqlite.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/datastore/plugin_datastore_sqlite.c b/src/datastore/plugin_datastore_sqlite.c
index 380238bb5f..4980f8109b 100644
--- a/src/datastore/plugin_datastore_sqlite.c
+++ b/src/datastore/plugin_datastore_sqlite.c
@@ -908,10 +908,19 @@ sqlite_plugin_get_key (void *cls,
GNUNET_SQ_query_param_end
};
+ /* SQLite doesn't like it when you try to bind a parameter greater than the
+ * last numbered parameter, but unused parameters in the middle are OK.
+ */
if (! use_type)
- memset (&params[3], 0, sizeof (struct GNUNET_SQ_QueryParam));
- if (! use_key)
- memset (&params[2], 0, sizeof (struct GNUNET_SQ_QueryParam));
+ {
+ params[3] = (struct GNUNET_SQ_QueryParam) GNUNET_SQ_query_param_end;
+ if (! use_key)
+ {
+ params[2] = (struct GNUNET_SQ_QueryParam) GNUNET_SQ_query_param_end;
+ if (! use_rvalue)
+ params[1] = (struct GNUNET_SQ_QueryParam) GNUNET_SQ_query_param_end;
+ }
+ }
if (random)
{
rvalue = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK,