Backport of upstream commits 7a6549a + 4b3ba03 (bsc#1260998)
"Fix NULL pointer dereference in archive_acl_from_text_w/_l"
Skip malformed ACL entries with empty field length instead of dereferencing
a NULL start pointer. Adapted to libarchive 3.6.2 (shape B).

diff -ru a/libarchive/archive_acl.c b/libarchive/archive_acl.c
--- a/libarchive/archive_acl.c
+++ b/libarchive/archive_acl.c
@@ -1229,8 +1229,12 @@
 
 			tag = 0;
 			s = field[n].start;
-			st = field[n].start + 1;
 			len = field[n].end - field[n].start;
+			if (len == 0) {
+				ret = ARCHIVE_WARN;
+				continue;
+			}
+			st = s + 1;
 
 			switch (*s) {
 			case L'u':
@@ -1712,7 +1716,6 @@
 
 			tag = 0;
 			s = field[n].start;
-			st = field[n].start + 1;
 			len = field[n].end - field[n].start;
 
 			if (len == 0) {
@@ -1720,6 +1723,8 @@
 				continue;
 			}
 
+			st = s + 1;
+
 			switch (*s) {
 			case 'u':
 				if (len == 1 || (len == 4
