syscall_filter: fix multiline parsing with more than one line

The return value of the getmultiline helper wasn't returning the full
length of the string, just the first half.  This caused us to fail to
parse more than one line continuation.

Bug: None
Test: unittests pass (with updated test case)
Change-Id: I4356e14fb00a8c295cae481c4d578efe3c7e83fd
diff --git a/syscall_filter.c b/syscall_filter.c
index 163cb0b..3b78f97 100644
--- a/syscall_filter.c
+++ b/syscall_filter.c
@@ -556,7 +556,7 @@
 	memcpy(&line[ret + 1], next_line, next_ret + 1);
 	free(next_line);
 	*lineptr = line;
-	return ret;
+	return *n - 1;
 }
 
 int compile_file(const char *filename, FILE *policy_file,
diff --git a/syscall_filter_unittest.cc b/syscall_filter_unittest.cc
index b82c2e3..95b38f4 100644
--- a/syscall_filter_unittest.cc
+++ b/syscall_filter_unittest.cc
@@ -1354,7 +1354,7 @@
 TEST_F(FileTest, multiline) {
   std::string policy =
       "read:\\\n1\n"
-      "openat:arg0 in\\\n5";
+      "openat:arg0 \\\nin\\\n   \\\n5";
 
   const int LABEL_ID = 0;