[PATCH usbredir 5/5] Use a named constant for buffer sizing, and check the buffer size.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Jeremy White <jwhite@xxxxxxxxxxxxxxx>
---
 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
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]