Include the e_os.h before string.h

Fixes #18244

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18282)
diff --git a/crypto/ctype.c b/crypto/ctype.c
index f90ef19..dc93015 100644
--- a/crypto/ctype.c
+++ b/crypto/ctype.c
@@ -7,12 +7,11 @@
  * https://www.openssl.org/source/license.html
  */
 
+#include "internal/e_os.h"
 #include <string.h>
 #include <stdio.h>
 #include "crypto/ctype.h"
 #include <openssl/ebcdic.h>
-
-#include "internal/e_os.h"
 #include "internal/core.h"
 #ifndef OPENSSL_NO_LOCALE
 # include <locale.h>
diff --git a/test/localetest.c b/test/localetest.c
index 9f13d38..616356a 100644
--- a/test/localetest.c
+++ b/test/localetest.c
@@ -7,14 +7,14 @@
  * https://www.openssl.org/source/license.html
  */
 
+#include "internal/e_os.h"
 #include <stdio.h>
 #include <string.h>
+#include <stdlib.h>
 #include <openssl/x509.h>
 #include "testutil.h"
 #include "testutil/output.h"
 
-#include <stdlib.h>
-#include "internal/e_os.h"
 #ifndef OPENSSL_NO_LOCALE
 # include <locale.h>
 # ifdef OPENSSL_SYS_MACOSX