Avoid deprecation problems in Visual Studio 13
Reviewed-by: Andy Polyakov <appro@openssl.org>
(cherry picked from commit 86d21d0b95)
			
			
This commit is contained in:
		| @@ -196,12 +196,6 @@ int RAND_poll(void) | ||||
| 	DWORD w; | ||||
| 	int good = 0; | ||||
|  | ||||
| 	/* Determine the OS version we are on so we can turn off things  | ||||
| 	 * that do not work properly. | ||||
| 	 */ | ||||
|         OSVERSIONINFO osverinfo ; | ||||
|         osverinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO) ; | ||||
|         GetVersionEx( &osverinfo ) ; | ||||
|  | ||||
| #if defined(OPENSSL_SYS_WINCE) | ||||
| # if defined(_WIN32_WCE) && _WIN32_WCE>=300 | ||||
| @@ -281,56 +275,6 @@ int RAND_poll(void) | ||||
|          * at random times on Windows 2000.  Reported by Jeffrey Altman.   | ||||
|          * Only use it on NT. | ||||
| 	 */ | ||||
| 	/* Wolfgang Marczy <WMarczy@topcall.co.at> reports that | ||||
| 	 * the RegQueryValueEx call below can hang on NT4.0 (SP6). | ||||
| 	 * So we don't use this at all for now. */ | ||||
| #if 0 | ||||
|         if ( osverinfo.dwPlatformId == VER_PLATFORM_WIN32_NT && | ||||
| 		osverinfo.dwMajorVersion < 5) | ||||
| 		{ | ||||
| 		/* Read Performance Statistics from NT/2000 registry | ||||
| 		 * The size of the performance data can vary from call | ||||
| 		 * to call so we must guess the size of the buffer to use | ||||
| 		 * and increase its size if we get an ERROR_MORE_DATA | ||||
| 		 * return instead of ERROR_SUCCESS. | ||||
| 		 */ | ||||
| 		LONG   rc=ERROR_MORE_DATA; | ||||
| 		char * buf=NULL; | ||||
| 		DWORD bufsz=0; | ||||
| 		DWORD length; | ||||
|  | ||||
| 		while (rc == ERROR_MORE_DATA) | ||||
| 			{ | ||||
| 			buf = realloc(buf,bufsz+8192); | ||||
| 			if (!buf) | ||||
| 				break; | ||||
| 			bufsz += 8192; | ||||
|  | ||||
| 			length = bufsz; | ||||
| 			rc = RegQueryValueEx(HKEY_PERFORMANCE_DATA, TEXT("Global"), | ||||
| 				NULL, NULL, buf, &length); | ||||
| 			} | ||||
| 		if (rc == ERROR_SUCCESS) | ||||
| 			{ | ||||
|                         /* For entropy count assume only least significant | ||||
| 			 * byte of each DWORD is random. | ||||
| 			 */ | ||||
| 			RAND_add(&length, sizeof(length), 0); | ||||
| 			RAND_add(buf, length, length / 4.0); | ||||
|  | ||||
| 			/* Close the Registry Key to allow Windows to cleanup/close | ||||
| 			 * the open handle | ||||
| 			 * Note: The 'HKEY_PERFORMANCE_DATA' key is implicitly opened | ||||
| 			 *       when the RegQueryValueEx above is done.  However, if | ||||
| 			 *       it is not explicitly closed, it can cause disk | ||||
| 			 *       partition manipulation problems. | ||||
| 			 */ | ||||
| 			RegCloseKey(HKEY_PERFORMANCE_DATA); | ||||
| 			} | ||||
| 		if (buf) | ||||
| 			free(buf); | ||||
| 		} | ||||
| #endif | ||||
|  | ||||
| 	if (advapi) | ||||
| 		{ | ||||
| @@ -383,7 +327,7 @@ int RAND_poll(void) | ||||
|         if (advapi) | ||||
| 		FreeLibrary(advapi); | ||||
|  | ||||
| 	if ((osverinfo.dwPlatformId != VER_PLATFORM_WIN32_NT || | ||||
| 	if ((!check_winnt() || | ||||
| 	     !OPENSSL_isservice()) && | ||||
| 	    (user = LoadLibrary(TEXT("USER32.DLL")))) | ||||
| 		{ | ||||
| @@ -407,8 +351,7 @@ int RAND_poll(void) | ||||
| 			 * on NT4 even though it exists in SP3 (or SP6) and | ||||
| 			 * higher. | ||||
| 			 */ | ||||
| 			if ( osverinfo.dwPlatformId == VER_PLATFORM_WIN32_NT && | ||||
| 				osverinfo.dwMajorVersion < 5) | ||||
| 			if (check_winnt() && !check_win_minplat(5)) | ||||
| 				cursor = 0; | ||||
| 			} | ||||
| 		if (cursor) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Matt Caswell
					Matt Caswell