summaryrefslogtreecommitdiff
path: root/contrib/pgcrypto/crypt-des.c
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2015-12-27 13:03:19 -0300
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2015-12-27 13:03:19 -0300
commit1b6102eb73f4483eb30f3008b07882a93ff369f8 (patch)
tree6de6a320345184ce573d7887bbf347c7fa6c08e0 /contrib/pgcrypto/crypt-des.c
parent7e29e7f5544d41cdf3cc2ed209ecabfa0242af04 (diff)
Add forgotten CHECK_FOR_INTERRUPT calls in pgcrypto's crypt()
Both Blowfish and DES implementations of crypt() can take arbitrarily long time, depending on the number of rounds specified by the caller; make sure they can be interrupted. Author: Andreas Karlsson Reviewer: Jeff Janes Backpatch to 9.1.
Diffstat (limited to 'contrib/pgcrypto/crypt-des.c')
-rw-r--r--contrib/pgcrypto/crypt-des.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/contrib/pgcrypto/crypt-des.c b/contrib/pgcrypto/crypt-des.c
index 6834c28cf2f..e2501787a02 100644
--- a/contrib/pgcrypto/crypt-des.c
+++ b/contrib/pgcrypto/crypt-des.c
@@ -61,6 +61,7 @@
*/
#include "postgres.h"
+#include "miscadmin.h"
#include "px.h"
#include "px-crypt.h"
@@ -541,6 +542,8 @@ do_des(uint32 l_in, uint32 r_in, uint32 *l_out, uint32 *r_out, int count)
while (count--)
{
+ CHECK_FOR_INTERRUPTS();
+
/*
* Do each round.
*/