docs: improve Doxygen documentation
[cdsspec-compiler.git] / snapshot-interface.cc
index 5f8a68773eeba95fca07678ee73d6e39ace1c62d..fdabcf33549349acb203ac201608461aa25d049c 100644 (file)
@@ -85,10 +85,16 @@ static void SnapshotGlobalSegments()
 
 static void get_binary_name(char *buf, size_t len)
 {
-       if (readlink("/proc/self/exe", buf, len) == -1) {
+       ssize_t size = readlink("/proc/self/exe", buf, len);
+       if (size < 0) {
                perror("readlink");
                exit(EXIT_FAILURE);
        }
+
+       /* Terminate string */
+       if ((size_t)size > len)
+               size = len;
+       buf[size] = '\0';
 }
 
 /** The SnapshotGlobalSegments function computes the memory regions