Skip to content

Commit

Permalink
Added path checks to AssemlyLoading, Binary and SVMLight Loader APIs
Browse files Browse the repository at this point in the history
  • Loading branch information
mstfbl committed Jan 28, 2020
1 parent 9216110 commit 39cfa80
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/Microsoft.ML.Core/ComponentModel/AssemblyLoadingUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ public static void LoadAndRegister(IHostEnvironment env, string[] assemblies)
{
// REVIEW: Will LoadFrom ever return null?
Contracts.CheckNonEmpty(path, nameof(path));
if (!File.Exists(path))
{
throw Contracts.ExceptParam(nameof(path), "File does not exist at path: {0}", path);
}
var assem = LoadAssembly(env, path);
if (assem != null)
continue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@ public static IDataView LoadFromBinary(this DataOperationsCatalog catalog, IMult
public static IDataView LoadFromBinary(this DataOperationsCatalog catalog, string path)
{
Contracts.CheckNonEmpty(path, nameof(path));
if (!File.Exists(path))
{
throw Contracts.ExceptParam(nameof(path), "File does not exist at path: {0}", path);
}

var env = catalog.GetEnvironment();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,10 @@ public static IDataView LoadFromSvmLightFile(this DataOperationsCatalog catalog,
bool zeroBased = false)
{
Contracts.CheckNonEmpty(path, nameof(path));
if (!File.Exists(path))
{
throw Contracts.ExceptParam(nameof(path), "File does not exist at path: {0}", path);
}

var file = new MultiFileSource(path);
var loader = catalog.CreateSvmLightLoader(numberOfRows, inputSize, zeroBased, file);
Expand All @@ -83,6 +87,10 @@ public static IDataView LoadFromSvmLightFileWithFeatureNames(this DataOperations
long? numberOfRows = null)
{
Contracts.CheckNonEmpty(path, nameof(path));
if (!File.Exists(path))
{
throw Contracts.ExceptParam(nameof(path), "File does not exist at path: {0}", path);
}

var file = new MultiFileSource(path);
var loader = catalog.CreateSvmLightLoaderWithFeatureNames(numberOfRows, file);
Expand Down

0 comments on commit 39cfa80

Please sign in to comment.