From 101ddc35cefd9b1dfa34f4253306c863e5f13ba3 Mon Sep 17 00:00:00 2001 From: Jean-Bernard Pellerin Date: Wed, 24 Apr 2019 19:53:15 -0600 Subject: [PATCH 1/2] Fix Name setter for Pdf.Contents.Objects.CName The setter should be validating the input, not the existing value. As is, the CName(string name) constructor always throws an ArgumentNullException. --- src/PdfSharp/Pdf.Content.Objects/CObjects.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PdfSharp/Pdf.Content.Objects/CObjects.cs b/src/PdfSharp/Pdf.Content.Objects/CObjects.cs index 44308a02..742bf77a 100644 --- a/src/PdfSharp/Pdf.Content.Objects/CObjects.cs +++ b/src/PdfSharp/Pdf.Content.Objects/CObjects.cs @@ -771,7 +771,7 @@ public string Name get { return _name; } set { - if (String.IsNullOrEmpty(_name)) + if (String.IsNullOrEmpty(value)) throw new ArgumentNullException(nameof(value)); if (_name[0] != '/') throw new ArgumentException(PSSR.NameMustStartWithSlash); From 0ec45ac375636a43367d979378c49a8506ecaad6 Mon Sep 17 00:00:00 2001 From: Jean-Bernard Pellerin Date: Wed, 1 May 2019 13:28:53 -0600 Subject: [PATCH 2/2] Additional work for previous fix It passed the first check, but a change was also required for the second. --- src/PdfSharp/Pdf.Content.Objects/CObjects.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PdfSharp/Pdf.Content.Objects/CObjects.cs b/src/PdfSharp/Pdf.Content.Objects/CObjects.cs index 742bf77a..a19f0544 100644 --- a/src/PdfSharp/Pdf.Content.Objects/CObjects.cs +++ b/src/PdfSharp/Pdf.Content.Objects/CObjects.cs @@ -773,7 +773,7 @@ public string Name { if (String.IsNullOrEmpty(value)) throw new ArgumentNullException(nameof(value)); - if (_name[0] != '/') + if (value[0] != '/') throw new ArgumentException(PSSR.NameMustStartWithSlash); _name = value; }