From fe1aba7f15405193e2359e4364b221c157f11a43 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Wed, 16 Apr 2003 23:22:05 +0000 Subject: [PATCH] more cleanup svn:r242 --- src/common/crypto.c | 8 ++++---- src/common/util.c | 9 ++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/common/crypto.c b/src/common/crypto.c index 626e2c48e3..177ae79499 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -599,8 +599,8 @@ int crypto_cipher_encrypt_init_cipher(crypto_cipher_env_t *env) if (crypto_cipher_evp_cipher(env->type, 1)) { RETURN_SSL_OUTCOME(EVP_EncryptInit((EVP_CIPHER_CTX *)env->aux, - crypto_cipher_evp_cipher(env->type, 1), - env->key, env->iv)); + crypto_cipher_evp_cipher(env->type, 1), + env->key, env->iv)); } else { return -1; } @@ -612,8 +612,8 @@ int crypto_cipher_decrypt_init_cipher(crypto_cipher_env_t *env) if (crypto_cipher_evp_cipher(env->type, 0)) { RETURN_SSL_OUTCOME(EVP_EncryptInit((EVP_CIPHER_CTX *)env->aux, - crypto_cipher_evp_cipher(env->type, 0), - env->key, env->iv)); + crypto_cipher_evp_cipher(env->type, 0), + env->key, env->iv)); } else { return -1; } diff --git a/src/common/util.c b/src/common/util.c index c448fbe894..743df0bbb1 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -3,6 +3,7 @@ /* $Id$ */ #include +#include #include "util.h" #include "log.h" @@ -21,6 +22,7 @@ my_gettimeofday(struct timeval *timeval) long tv_udiff(struct timeval *start, struct timeval *end) { + long udiff; long secdiff = end->tv_sec - start->tv_sec; if (secdiff+1 > LONG_MAX/1000000) { log(LOG_NOTICE, "tv_udiff(): comparing times too far apart."); @@ -30,7 +32,12 @@ tv_udiff(struct timeval *start, struct timeval *end) end->tv_sec--; end->tv_usec += 1000000L; } - return secdiff*1000000L + (end->tv_usec - start->tv_usec); + udiff = secdiff*1000000L + (end->tv_usec - start->tv_usec); + if(udiff < 0) { + log(LOG_NOTICE, "tv_udiff(): start is after end. Returning 0."); + return 0; + } + return udiff; } int tv_cmp(struct timeval *a, struct timeval *b) {