summaryrefslogtreecommitdiff
path: root/src/vm/dllimport.cpp
diff options
context:
space:
mode:
authorSwaroop Sridhar <Swaroop.Sridhar@microsoft.com>2018-11-22 01:24:08 -0800
committerJan Kotas <jkotas@microsoft.com>2018-11-22 01:24:08 -0800
commit5e4e286ea2bffa4a5cb2467721ed89f27959d253 (patch)
tree90c4f86955c203c1298dfaed0c832f1b7af34a6c /src/vm/dllimport.cpp
parentf572782d55b65f06306dfce7aed07c84e6671756 (diff)
downloadcoreclr-5e4e286ea2bffa4a5cb2467721ed89f27959d253.tar.gz
coreclr-5e4e286ea2bffa4a5cb2467721ed89f27959d253.tar.bz2
coreclr-5e4e286ea2bffa4a5cb2467721ed89f27959d253.zip
Sequel to NativeLibrary API (#21148)
Small changes to address furhter feedback: - Perform argument validation in the Marshall.cs instead of DllImport helpers - Improve doc comments.
Diffstat (limited to 'src/vm/dllimport.cpp')
-rw-r--r--src/vm/dllimport.cpp38
1 files changed, 20 insertions, 18 deletions
diff --git a/src/vm/dllimport.cpp b/src/vm/dllimport.cpp
index 18f404949a..9dda48f3ee 100644
--- a/src/vm/dllimport.cpp
+++ b/src/vm/dllimport.cpp
@@ -6136,10 +6136,12 @@ bool NDirect::s_fSecureLoadLibrarySupported = false;
// static
NATIVE_LIBRARY_HANDLE NDirect::LoadLibraryFromPath(LPCWSTR libraryPath, BOOL throwOnError)
{
- STANDARD_VM_CONTRACT;
-
- if (libraryPath == NULL)
- COMPlusThrowArgumentNull(W("libraryPath"), W("ArgumentNull_String"));
+ CONTRACTL
+ {
+ STANDARD_VM_CHECK;
+ PRECONDITION(CheckPointer(libraryPath));
+ }
+ CONTRACTL_END;
LoadLibErrorTracker errorTracker;
const NATIVE_LIBRARY_HANDLE hmod =
@@ -6158,16 +6160,16 @@ NATIVE_LIBRARY_HANDLE NDirect::LoadLibraryByName(LPCWSTR libraryName, Assembly *
BOOL hasDllImportSearchFlag, DWORD dllImportSearchFlag,
BOOL throwOnError)
{
- STANDARD_VM_CONTRACT;
+ CONTRACTL
+ {
+ STANDARD_VM_CHECK;
+ PRECONDITION(CheckPointer(libraryName));
+ PRECONDITION(CheckPointer(callingAssembly));
+ }
+ CONTRACTL_END;
LoadLibErrorTracker errorTracker;
- if (libraryName == NULL)
- COMPlusThrowArgumentNull(W("libraryName"), W("ArgumentNull_String"));
-
- if (callingAssembly == NULL)
- COMPlusThrowArgumentNull(W("callingAssembly"), W("ArgumentNull_Assembly"));
-
// First checks if a default DllImportSearchPathFlag was passed in, if so, use that value.
// Otherwise checks if the assembly has the DefaultDllImportSearchPathsAttribute attribute. If so, use that value.
BOOL searchAssemblyDirectory = TRUE;
@@ -6255,13 +6257,13 @@ void NDirect::FreeNativeLibrary(NATIVE_LIBRARY_HANDLE handle)
//static
INT_PTR NDirect::GetNativeLibraryExport(NATIVE_LIBRARY_HANDLE handle, LPCWSTR symbolName, BOOL throwOnError)
{
- STANDARD_VM_CONTRACT;
-
- if (handle == NULL)
- COMPlusThrowArgumentNull(W("handle"), W("Arg_InvalidHandle"));
-
- if (symbolName == NULL)
- COMPlusThrowArgumentNull(W("symbolName"), W("ArgumentNull_String"));
+ CONTRACTL
+ {
+ STANDARD_VM_CHECK;
+ PRECONDITION(CheckPointer(handle));
+ PRECONDITION(CheckPointer(symbolName));
+ }
+ CONTRACTL_END;
MAKE_UTF8PTR_FROMWIDE(lpstr, symbolName);