summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorderaadt <>2014-06-29 00:52:18 +0000
committerderaadt <>2014-06-29 00:52:18 +0000
commitf4abd03a2414eb088f27acb3e5050d646651aa71 (patch)
tree44979684b64cc8f9afbdecb5fc672f7771052b54 /src
parentbd5c798e7ef776ce518946b8cffd4cf79349c91f (diff)
downloadopenbsd-f4abd03a2414eb088f27acb3e5050d646651aa71.tar.gz
openbsd-f4abd03a2414eb088f27acb3e5050d646651aa71.tar.bz2
openbsd-f4abd03a2414eb088f27acb3e5050d646651aa71.zip
correct issetugid sense as spotted by Stijn van Drongelen.
Substantially expand the conditional to reduce potential for error.
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/engine/eng_list.c10
-rw-r--r--src/lib/libssl/src/crypto/engine/eng_list.c10
2 files changed, 14 insertions, 6 deletions
diff --git a/src/lib/libcrypto/engine/eng_list.c b/src/lib/libcrypto/engine/eng_list.c
index 22e2abb01d..dddbaf0cc0 100644
--- a/src/lib/libcrypto/engine/eng_list.c
+++ b/src/lib/libcrypto/engine/eng_list.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: eng_list.c,v 1.11 2014/06/23 22:19:02 deraadt Exp $ */ 1/* $OpenBSD: eng_list.c,v 1.12 2014/06/29 00:52:18 deraadt Exp $ */
2/* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL 2/* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -385,9 +385,13 @@ ENGINE_by_id(const char *id)
385 return iterator; 385 return iterator;
386 /* Prevent infinite recusrion if we're looking for the dynamic engine. */ 386 /* Prevent infinite recusrion if we're looking for the dynamic engine. */
387 if (strcmp(id, "dynamic")) { 387 if (strcmp(id, "dynamic")) {
388 if (issetugid() == 0 || 388 if (issetugid() == 0) {
389 (load_dir = getenv("OPENSSL_ENGINES")) == 0) 389 load_dir = getenv("OPENSSL_ENGINES");
390 if (load_dir == NULL)
391 load_dir = ENGINESDIR;
392 } else
390 load_dir = ENGINESDIR; 393 load_dir = ENGINESDIR;
394
391 iterator = ENGINE_by_id("dynamic"); 395 iterator = ENGINE_by_id("dynamic");
392 if (!iterator || 396 if (!iterator ||
393 !ENGINE_ctrl_cmd_string(iterator, "ID", id, 0) || 397 !ENGINE_ctrl_cmd_string(iterator, "ID", id, 0) ||
diff --git a/src/lib/libssl/src/crypto/engine/eng_list.c b/src/lib/libssl/src/crypto/engine/eng_list.c
index 22e2abb01d..dddbaf0cc0 100644
--- a/src/lib/libssl/src/crypto/engine/eng_list.c
+++ b/src/lib/libssl/src/crypto/engine/eng_list.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: eng_list.c,v 1.11 2014/06/23 22:19:02 deraadt Exp $ */ 1/* $OpenBSD: eng_list.c,v 1.12 2014/06/29 00:52:18 deraadt Exp $ */
2/* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL 2/* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -385,9 +385,13 @@ ENGINE_by_id(const char *id)
385 return iterator; 385 return iterator;
386 /* Prevent infinite recusrion if we're looking for the dynamic engine. */ 386 /* Prevent infinite recusrion if we're looking for the dynamic engine. */
387 if (strcmp(id, "dynamic")) { 387 if (strcmp(id, "dynamic")) {
388 if (issetugid() == 0 || 388 if (issetugid() == 0) {
389 (load_dir = getenv("OPENSSL_ENGINES")) == 0) 389 load_dir = getenv("OPENSSL_ENGINES");
390 if (load_dir == NULL)
391 load_dir = ENGINESDIR;
392 } else
390 load_dir = ENGINESDIR; 393 load_dir = ENGINESDIR;
394
391 iterator = ENGINE_by_id("dynamic"); 395 iterator = ENGINE_by_id("dynamic");
392 if (!iterator || 396 if (!iterator ||
393 !ENGINE_ctrl_cmd_string(iterator, "ID", id, 0) || 397 !ENGINE_ctrl_cmd_string(iterator, "ID", id, 0) ||