Merge pull request #404 from webmaster442/master

Fixes issue #303
This commit is contained in:
Alexandre Mutel
2020-03-08 10:09:03 +01:00
committed by GitHub
3 changed files with 57 additions and 2 deletions

View File

@@ -0,0 +1,48 @@
using NUnit.Framework;
namespace Markdig.Tests
{
[TestFixture]
public class TestExceptionNotThrown
{
[Test]
public void DoesNotThrowIndexOutOfRangeException1()
{
Assert.DoesNotThrow(() =>
{
var pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build();
Markdown.ToHtml("+-\n|\n+", pipeline);
});
}
[Test]
public void DoesNotThrowIndexOutOfRangeException2()
{
Assert.DoesNotThrow(() =>
{
var pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build();
Markdown.ToHtml("+--\n|\n+0", pipeline);
});
}
[Test]
public void DoesNotThrowIndexOutOfRangeException3()
{
Assert.DoesNotThrow(() =>
{
var pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build();
Markdown.ToHtml("+-\n|\n+\n0", pipeline);
});
}
[Test]
public void DoesNotThrowIndexOutOfRangeException4()
{
Assert.DoesNotThrow(() =>
{
var pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build();
Markdown.ToHtml("+-\n|\n+0", pipeline);
});
}
}
}

View File

@@ -58,6 +58,11 @@ namespace Markdig.Extensions.Tables
var rowSpan = cell.RowSpan - 1;
while (rowSpan > 0)
{
if (i+rowSpan > (rows.Length-1))
{
return false;
}
rows[i + rowSpan] += cell.ColumnSpan;
rowSpan--;
}

View File

@@ -315,7 +315,8 @@ namespace Markdig.Helpers
// Strip leading spaces
for (; Start <= End; Start++)
{
if (!Text[Start].IsWhitespace())
if (Start < Text.Length
&& !Text[Start].IsWhitespace())
{
break;
}
@@ -349,7 +350,8 @@ namespace Markdig.Helpers
{
for (; Start <= End; End--)
{
if (!Text[End].IsWhitespace())
if (End < Text.Length
&& !Text[End].IsWhitespace())
{
break;
}