On 12/10/2018 16:58, Corinna Vinschen wrote:
On Oct 12 16:43, Jon Turney wrote:
[...]
diff --git a/desktop.cc b/desktop.cc
index 927c02f..d003e91 100644
--- a/desktop.cc
+++ b/desktop.cc
@@ -107,7 +107,8 @@ start_menu (const std::string& title, const std::string& 
target,
                              issystem ? CSIDL_COMMON_PROGRAMS :
                              CSIDL_PROGRAMS, &id);
    SHGetPathFromIDList (id, path);
-  strncat (path, "/Cygwin", MAX_PATH);
+  strncat (path, "/Cygwin", MAX_PATH - strlen(path));

Shouldn't that be

      strncat (path, "/Cygwin", MAX_PATH - strlen(path) - 1);

?

Yes!  I have no idea what I was thinking!

Thanks.

"If src contains n or more bytes, strncat() writes n+1 bytes to dest  (n
  from  src plus the terminating null byte).  Therefore, the size of dest
  must be at least strlen(dest)+n+1."

Reply via email to