dtmail: fix NULL char embedded in format string
authorJon Trulson <jon@radscan.com>
Wed, 16 Oct 2019 03:12:17 +0000 (21:12 -0600)
committerJon Trulson <jon@radscan.com>
Wed, 16 Oct 2019 03:12:17 +0000 (21:12 -0600)
cde/programs/dtmail/libDtMail/RFC/RFCMailBox.C

index 9afb24d8ccd78766aef81c671371e61602be767c..8e91838b61280ad22f71f359ef6f9553cfa3a923 100644 (file)
@@ -3669,14 +3669,9 @@ char *
 RFCMailBox::generateUniqueLockId(void)
 {
   char theId[128];
-  char hwserialbuf[64];
 
-#if !defined(__aix) && !defined(__hpux) && !defined(__linux__) && !defined(CSRG_BASED)
-  if (sysinfo(SI_HW_SERIAL, (char *)hwserialbuf, sizeof(hwserialbuf)-1) == -1)
-#endif
-    strcpy(hwserialbuf, "dtmail");
-  (void) sprintf(theId, "%08ld%08ld%s\0", (long)getpid(), (long)time(NULL), hwserialbuf);
-  assert(strlen(theId)<sizeof(theId));
+  snprintf(theId, sizeof(theId), "%08ld%08ld%s", (long)getpid(),
+           (long)time(NULL), "dtmail");
   return(strdup(theId));
 }