commit 9eeff921ae7b786d960ea4286d5bba56edaef47f
parent 0cca55411074a78096dab1b84a4781e790e9aece
Author: teor <teor@torproject.org>
Date: Tue, 12 Mar 2019 11:09:48 +1000
sr: BUG() on NULL sr_state before doing a state_query_*()
Part of #29706.
Diffstat:
1 file changed, 12 insertions(+), 0 deletions(-)
diff --git a/src/or/shared_random_state.c b/src/or/shared_random_state.c
@@ -857,6 +857,9 @@ state_query_get_commit(const char *rsa_fpr)
static void *
state_query_get_(sr_state_object_t obj_type, const void *data)
{
+ if (BUG(!sr_state))
+ return NULL;
+
void *obj = NULL;
switch (obj_type) {
@@ -890,6 +893,9 @@ state_query_get_(sr_state_object_t obj_type, const void *data)
static void
state_query_put_(sr_state_object_t obj_type, void *data)
{
+ if (BUG(!sr_state))
+ return;
+
switch (obj_type) {
case SR_STATE_OBJ_COMMIT:
{
@@ -939,6 +945,9 @@ state_query_put_(sr_state_object_t obj_type, void *data)
static void
state_query_del_all_(sr_state_object_t obj_type)
{
+ if (BUG(!sr_state))
+ return;
+
switch (obj_type) {
case SR_STATE_OBJ_COMMIT:
{
@@ -967,6 +976,9 @@ state_query_del_(sr_state_object_t obj_type, void *data)
{
(void) data;
+ if (BUG(!sr_state))
+ return;
+
switch (obj_type) {
case SR_STATE_OBJ_PREVSRV:
tor_free(sr_state->previous_srv);