diff options
| author | Christian Grothoff <christian@grothoff.org> | 2022-06-07 17:04:23 +0200 | 
|---|---|---|
| committer | Christian Grothoff <christian@grothoff.org> | 2022-06-07 17:04:23 +0200 | 
| commit | 982b60c93c7a12defdd109721da0d5e9423efdaa (patch) | |
| tree | 59d18ca13d7eb5e8679260906b7f4ecfca6104f0 /src | |
| parent | 446761b6029298410000181697abef5dbdbd4b57 (diff) | |
-more minor bugfixes
Diffstat (limited to 'src')
| -rw-r--r-- | src/util/taler-exchange-secmod-cs.c | 4 | ||||
| -rw-r--r-- | src/util/taler-exchange-secmod-rsa.c | 13 | 
2 files changed, 17 insertions, 0 deletions
diff --git a/src/util/taler-exchange-secmod-cs.c b/src/util/taler-exchange-secmod-cs.c index ffd12dee..c8f0e242 100644 --- a/src/util/taler-exchange-secmod-cs.c +++ b/src/util/taler-exchange-secmod-cs.c @@ -824,6 +824,8 @@ cs_update_client_keys (struct TES_Client *client)          memcpy (&buf[obs],                  &pn,                  sizeof (pn)); +        GNUNET_assert (obs + sizeof (pn) +                       > obs);          obs += sizeof (pn);        }        else @@ -831,6 +833,8 @@ cs_update_client_keys (struct TES_Client *client)          memcpy (&buf[obs],                  key->an,                  ntohs (key->an->header.size)); +        GNUNET_assert (obs + ntohs (key->an->header.size) +                       > obs);          obs += ntohs (key->an->header.size);        }      } diff --git a/src/util/taler-exchange-secmod-rsa.c b/src/util/taler-exchange-secmod-rsa.c index 713c3498..d4b0845f 100644 --- a/src/util/taler-exchange-secmod-rsa.c +++ b/src/util/taler-exchange-secmod-rsa.c @@ -743,6 +743,11 @@ handle_batch_sign_request (struct TES_Client *client,    struct BatchJob jobs[bs];    bool failure = false; +  if (bs > TALER_MAX_FRESH_COINS) +  { +    GNUNET_break_op (0); +    return GNUNET_SYSERR; +  }    while ( (bs > 0) &&            (size > sizeof (struct TALER_CRYPTO_SignRequest)) )    { @@ -1087,6 +1092,8 @@ rsa_client_init (struct TES_Client *client)           NULL != dk;           dk = dk->next)      { +      GNUNET_assert (obs + ntohs (dk->an->header.size) +                     > obs);        obs += ntohs (dk->an->header.size);      }    } @@ -1103,6 +1110,8 @@ rsa_client_init (struct TES_Client *client)        memcpy (&buf[obs],                dk->an,                ntohs (dk->an->header.size)); +      GNUNET_assert (obs + ntohs (dk->an->header.size) +                     > obs);        obs += ntohs (dk->an->header.size);      }    } @@ -1202,6 +1211,8 @@ rsa_update_client_keys (struct TES_Client *client)          memcpy (&buf[obs],                  &pn,                  sizeof (pn)); +        GNUNET_assert (obs + sizeof (pn) +                       > obs);          obs += sizeof (pn);        }        else @@ -1209,6 +1220,8 @@ rsa_update_client_keys (struct TES_Client *client)          memcpy (&buf[obs],                  key->an,                  ntohs (key->an->header.size)); +        GNUNET_assert (obs + ntohs (key->an->header.size) +                       > obs);          obs += ntohs (key->an->header.size);        }      }  | 
