Use lttng_read/lttng_write wrappers
[lttng-tools.git] / src / common / compat / compat-epoll.c
index 903a9f8256eeafad9e678f565ba6c1b60f0e9c2a..1380ce85527a74dae304b2777de5a72c489b6b5c 100644 (file)
@@ -250,6 +250,7 @@ error:
 void compat_epoll_set_max_size(void)
 {
        int ret, fd;
+       size_t size_ret;
        char buf[64];
 
        poll_max_size = DEFAULT_POLL_SIZE;
@@ -259,11 +260,16 @@ void compat_epoll_set_max_size(void)
                return;
        }
 
-       ret = read(fd, buf, sizeof(buf));
-       if (ret < 0) {
+       size_ret = lttng_read(fd, buf, sizeof(buf));
+       /*
+        * Allow reading a file smaller than buf, but keep space for
+        * final \0.
+        */
+       if (size_ret < 0 || size_ret >= sizeof(buf)) {
                PERROR("read set max size");
                goto error;
        }
+       buf[size_ret] = '\0';
 
        poll_max_size = atoi(buf);
        if (poll_max_size == 0) {
This page took 0.022837 seconds and 4 git commands to generate.