Signed-off-by: Jeremy White <[email protected]>
---
 connectkernel/connectkernel.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/connectkernel/connectkernel.c b/connectkernel/connectkernel.c
index f45cf62..03bd881 100644
--- a/connectkernel/connectkernel.c
+++ b/connectkernel/connectkernel.c
@@ -94,12 +94,14 @@ int connect_unix(char *fname)
     return s;
 }
 
+#define MAX_DEVID_LENGTH            256
+#define MAX_PRINTED_SOCKET_LENGTH     8
 int main(int argc, char *argv[])
 {
         int s;
         int fd;
         int i;
-        char buf[256 + 8];
+        char buf[MAX_DEVID_LENGTH + MAX_PRINTED_SOCKET_LENGTH + 1];
         char *attach_file = "/sys/bus/platform/drivers/usbredir/attach";
         char *devid = NULL;
         char *server = NULL;
@@ -153,6 +155,13 @@ int main(int argc, char *argv[])
             exit(1);
         }
 
+        if (strlen(devid) > MAX_DEVID_LENGTH)
+        {
+            fprintf(stderr, "Error: device id length greater than %d\n", 
MAX_DEVID_LENGTH);
+            usage(argv[0]);
+            exit(1);
+        }
+
         if (socket)
             s = connect_unix(server);
         else
-- 
2.1.4

_______________________________________________
Spice-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to