From 6ec3b485c406bb05ca5e13fe61d84df6b27f1945 Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Fri, 2 Jun 2017 16:33:02 +0200
Subject: Properly handle backslashes in link destinations.

Only ascii punctuation characters are escapable,
per the spec.

Closes #192.
---
 src/inlines.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/inlines.c b/src/inlines.c
index 021d5a3..eea0631 100644
--- a/src/inlines.c
+++ b/src/inlines.c
@@ -842,7 +842,9 @@ static bufsize_t manual_scan_link_url(cmark_chunk *input, bufsize_t offset) {
     }
   } else {
     while (i < input->len) {
-      if (input->data[i] == '\\')
+      if (input->data[i] == '\\' &&
+	  i + 1 < input-> len &&
+          cmark_ispunct(input->data[i+1]))
         i += 2;
       else if (input->data[i] == '(') {
         ++nb_p;
-- 
cgit v1.2.3