-add safety checks against cmd type confusion

This commit is contained in:
Christian Grothoff 2022-07-05 13:19:04 +02:00
parent 822090e81e
commit 43662fbb6a
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC

View File

@ -459,6 +459,19 @@ reveal_cb (void *cls,
}
/**
* Run the command.
*
* @param cls closure.
* @param cmd the command to execute.
* @param is the interpreter state.
*/
static void
melt_run (void *cls,
const struct TALER_TESTING_Command *cmd,
struct TALER_TESTING_Interpreter *is);
/**
* Run the command.
*
@ -484,7 +497,7 @@ refresh_reveal_run (void *cls,
TALER_TESTING_interpreter_fail (rrs->is);
return;
}
// FIXME: use trait for 'rms'!
GNUNET_assert (melt_cmd->run == &melt_run);
rms = melt_cmd->cls;
{
struct TALER_ExchangeWithdrawValues alg_values[rms->num_fresh_coins];
@ -791,17 +804,15 @@ refresh_link_run (void *cls,
}
/* find reserve_withdraw command */
GNUNET_assert (melt_cmd->run == &melt_run);
rms = melt_cmd->cls;
coin_cmd = TALER_TESTING_interpreter_lookup_command (rls->is,
rms->coin_reference);
if (NULL == coin_cmd)
{
// FIXME: use trait!
rms = melt_cmd->cls;
coin_cmd = TALER_TESTING_interpreter_lookup_command (rls->is,
rms->coin_reference);
if (NULL == coin_cmd)
{
GNUNET_break (0);
TALER_TESTING_interpreter_fail (rls->is);
return;
}
GNUNET_break (0);
TALER_TESTING_interpreter_fail (rls->is);
return;
}
const struct TALER_CoinSpendPrivateKeyP *coin_priv;
@ -863,19 +874,6 @@ refresh_link_cleanup (void *cls,
}
/**
* Run the command.
*
* @param cls closure.
* @param cmd the command to execute.
* @param is the interpreter state.
*/
static void
melt_run (void *cls,
const struct TALER_TESTING_Command *cmd,
struct TALER_TESTING_Interpreter *is);
/**
* Task scheduled to re-try #melt_run.
*