[xen stable-4.6] cmdline: fix parse_boolean() for NULL incoming end pointer

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[xen stable-4.6] cmdline: fix parse_boolean() for NULL incoming end pointer

patchbot
commit 1fa0ecbb949d62d834d878702a33373571710ce8
Author:     Jan Beulich <[hidden email]>
AuthorDate: Mon Jul 30 14:16:15 2018 +0200
Commit:     Jan Beulich <[hidden email]>
CommitDate: Mon Jul 30 14:16:15 2018 +0200

    cmdline: fix parse_boolean() for NULL incoming end pointer
   
    Use the calculated lengths instead of pointers, as 'e' being NULL will
    otherwise cause undue parsing failures.
   
    Reported-by: Karl Johnson <[hidden email]>
    Signed-off-by: Jan Beulich <[hidden email]>
    Acked-by: Andrew Cooper <[hidden email]>
---
 xen/common/kernel.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index 7c01bf22c5..0f5e41716f 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -195,10 +195,11 @@ int parse_boolean(const char *name, const char *s, const char *e)
         char buf[8];
 
         s += nlen + 1;
-        if ( e <= s || e - s >= ARRAY_SIZE(buf) )
+        slen -= nlen + 1;
+        if ( slen >= ARRAY_SIZE(buf) )
             return -1;
-        memcpy(buf, s, e - s);
-        buf[e - s] = 0;
+        memcpy(buf, s, slen);
+        buf[slen] = 0;
         return parse_bool(buf);
     }
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
[hidden email]
https://lists.xenproject.org/xen-changelog