diff --git a/ap/lib/libssl/openssl-1.1.1o/test/errtest.c b/ap/lib/libssl/openssl-1.1.1o/test/errtest.c
new file mode 100644
index 0000000..e464d08
--- /dev/null
+++ b/ap/lib/libssl/openssl-1.1.1o/test/errtest.c
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the OpenSSL license (the "License").  You may not use
+ * this file except in compliance with the License.  You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+#include <openssl/opensslconf.h>
+#include <openssl/err.h>
+
+#include "testutil.h"
+
+#if defined(OPENSSL_SYS_WINDOWS)
+# include <windows.h>
+#else
+# include <errno.h>
+#endif
+
+/* Test that querying the error queue preserves the OS error. */
+static int preserves_system_error(void)
+{
+#if defined(OPENSSL_SYS_WINDOWS)
+    SetLastError(ERROR_INVALID_FUNCTION);
+    ERR_get_error();
+    return TEST_int_eq(GetLastError(), ERROR_INVALID_FUNCTION);
+#else
+    errno = EINVAL;
+    ERR_get_error();
+    return TEST_int_eq(errno, EINVAL);
+#endif
+}
+
+int setup_tests(void)
+{
+    ADD_TEST(preserves_system_error);
+    return 1;
+}
