diff options
| author | Christian Grothoff <christian@grothoff.org> | 2022-07-05 13:19:04 +0200 | 
|---|---|---|
| committer | Christian Grothoff <christian@grothoff.org> | 2022-07-05 13:19:09 +0200 | 
| commit | 43662fbb6a1d1dc3184f69891d7cf68fca0837e7 (patch) | |
| tree | b8e14ce3b6a6c4edcf66f22dbbe0aeaaf90c0ca2 /src/testing | |
| parent | 822090e81e6ca3471b328c895a728428b7661e11 (diff) | |
-add safety checks against cmd type confusion
Diffstat (limited to 'src/testing')
| -rw-r--r-- | src/testing/testing_api_cmd_refresh.c | 46 | 
1 files changed, 22 insertions, 24 deletions
| diff --git a/src/testing/testing_api_cmd_refresh.c b/src/testing/testing_api_cmd_refresh.c index bc0c4e09..2aad77ce 100644 --- a/src/testing/testing_api_cmd_refresh.c +++ b/src/testing/testing_api_cmd_refresh.c @@ -467,6 +467,19 @@ reveal_cb (void *cls,   * @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. + * + * @param cls closure. + * @param cmd the command to execute. + * @param is the interpreter state. + */ +static void  refresh_reveal_run (void *cls,                      const struct TALER_TESTING_Command *cmd,                      struct TALER_TESTING_Interpreter *is) @@ -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; @@ -864,19 +875,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.   *   * @param cls a `struct RefreshMeltState` | 
