Browse Source

Fix remotely triggerable assert during ip decryption

Fixes bug 4410.
Dan Rosenberg 12 years ago
parent
commit
d5161ab895
1 changed files with 5 additions and 0 deletions
  1. 5 0
      src/or/routerparse.c

+ 5 - 0
src/or/routerparse.c

@@ -3858,6 +3858,11 @@ rend_decrypt_introduction_points(char **ipos_decrypted,
     crypto_cipher_env_t *cipher;
     char *dec;
     int declen;
+    if (ipos_encrypted_size < CIPHER_IV_LEN + 2) {
+      log_warn(LD_REND, "Size of encrypted introduction points is too "
+                        "small.");
+      return -1;
+    }
     dec = tor_malloc_zero(ipos_encrypted_size - CIPHER_IV_LEN - 1);
     cipher = crypto_create_init_cipher(descriptor_cookie, 0);
     declen = crypto_cipher_decrypt_with_iv(cipher, dec,