]> git.ipfire.org Git - thirdparty/FORT-validator.git/commitdiff
Avoid possible buffer overflow
authorpcarana <pc.moreno2099@gmail.com>
Thu, 28 Feb 2019 14:42:40 +0000 (08:42 -0600)
committerpcarana <pc.moreno2099@gmail.com>
Thu, 28 Feb 2019 14:42:40 +0000 (08:42 -0600)
src/rtr/pdu_sender.c
src/rtr/pdu_serializer.h

index d71635097676a0f100a14c2059fc1a90efba4910..ca7cdcbecd4cf632af10bdb6abda9c9b260ffd58 100644 (file)
@@ -76,13 +76,15 @@ send_response(int fd, char *data, size_t data_len)
        int error;
 
        init_buffer(&buffer);
+       /* Check for buffer overflow */
+       if (data_len > buffer.capacity) {
+               error = -EINVAL;
+               err(error, "Buffer out of capacity");
+               return error;
+       }
        memcpy(buffer.data, data, data_len);
        buffer.len = data_len;
 
-       /*
-        * FIXME Check for buffer overflow
-        */
-
        error = write(fd, buffer.data, buffer.len);
        free_buffer(&buffer);
        if (error < 0) {
index 9f99a14045263e80f76cec2ca272291b7ee91433..feb21040811df63c18d8952b0bb9ca29f1a994ee 100644 (file)
@@ -3,7 +3,7 @@
 
 #include "pdu.h"
 
-#define BUFFER_SIZE 32
+#define BUFFER_SIZE 128
 
 struct data_buffer {
        size_t len;