diff --git a/src/msw/dialup.cpp b/src/msw/dialup.cpp index bdd82582cb..5f44e6886d 100644 --- a/src/msw/dialup.cpp +++ b/src/msw/dialup.cpp @@ -711,7 +711,13 @@ size_t wxDialUpManagerMSW::GetISPNames(wxArrayString& names) const if ( dwRet == ERROR_BUFFER_TOO_SMALL ) { // reallocate the buffer - rasEntries = (RASENTRYNAME *)realloc(rasEntries, size); + void *n = realloc(rasEntries, size); + if (n == NULL) + { + free(rasEntries); + return 0; + } + rasEntries = (RASENTRYNAME *)n; } else if ( dwRet != 0 ) {