gprofng: PR29646 Various warnings
authorVladimir Mezentsev <vladimir.mezentsev@oracle.com>
Mon, 19 Dec 2022 09:01:04 +0000 (01:01 -0800)
committerVladimir Mezentsev <vladimir.mezentsev@oracle.com>
Tue, 20 Dec 2022 01:02:29 +0000 (17:02 -0800)
gprofng/ChangeLog
2022-12-19  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>

PR gprofng/29646
* common/core_pcbe.c: Fix missingReturn warning.
* libcollector/iolib.c: Fix -Waddress warnings.
* src/Settings.cc: Likewise.
* src/checks.cc: Likewise.
* libcollector/linetrace.c: Likewise.
* libcollector/iotrace.c: Fix va_end_missing error.
* libcollector/libcol_util.c: Fix uninitvar warning.
* src/Command.cc: Fix arrayIndexOutOfBounds error.
* src/Function.cc: Fix uninitStructMember warning.
* src/ipc.cc: Fix -Wwrite-strings warnings.

gprofng/common/core_pcbe.c
gprofng/libcollector/iolib.c
gprofng/libcollector/iotrace.c
gprofng/libcollector/libcol_util.c
gprofng/libcollector/linetrace.c
gprofng/src/Command.cc
gprofng/src/Function.cc
gprofng/src/Settings.cc
gprofng/src/checks.cc
gprofng/src/ipc.cc

index 6f746d8da1d31303624a706921b806f8617aa6a5..e10a14ea1e8aa5b97403d6e26e6aea828cb887fc 100644 (file)
@@ -2937,6 +2937,8 @@ core_pcbe_cpuref (void)
       return
       GTXT ("See Chapter 19 of the \"Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3B: System Programming Guide, Part 2\"\nOrder Number: 253669-045US, January 2013");
     }
+#else
+  return GTXT ("Unknown cpu model");
 #endif
 }
 
index 861843c183de9dab3e122852bec125e39221f901..5f09b0e4cd199affa5fccf11d5b84061ac77933b 100644 (file)
@@ -148,7 +148,7 @@ __collector_create_handle (char *descp)
     init ();
 
   /* set up header for file, file name, etc. */
-  if (__collector_exp_dir_name == NULL)
+  if (*__collector_exp_dir_name == 0)
     {
       __collector_log_write ("<event kind=\"%s\" id=\"%d\">__collector_exp_dir_name==NULL</event>\n",
                             SP_JCMD_CERROR, COL_ERROR_EXPOPEN);
index e7e8afa307de18a14d8638e71d099a1f871144c0..466bf457b756317e81ee3b4832c12cfbc0c2e201 100644 (file)
@@ -2713,10 +2713,15 @@ fprintf (FILE *stream, const char *format, ...)
   if (NULL_PTR (vfprintf))
     init_io_intf ();
   if (CHCK_REENTRANCE (guard) || stream == NULL)
-    return CALL_REAL (vfprintf)(stream, format, ap);
+    {
+      ret = CALL_REAL (vfprintf)(stream, format, ap);
+      va_end (ap);
+      return ret;
+    }
   PUSH_REENTRANCE (guard);
   hrtime_t reqt = gethrtime ();
   ret = CALL_REAL (vfprintf)(stream, format, ap);
+  va_end (ap);
   if (RECHCK_REENTRANCE (guard))
     {
       POP_REENTRANCE (guard);
index d682aa0ab29cc161ba3cc3832ccfcf0263a60136..454f45bba00126420a620402056aa00acb9bc8b9 100644 (file)
@@ -137,7 +137,7 @@ atomic_swap (volatile int * p, int v)
 int
 __collector_mutex_lock (collector_mutex_t *lock_var)
 {
-  volatile unsigned int i; /* xxxx volatile may not be honored on amd64 -x04 */
+  volatile unsigned int i = 0; /* xxxx volatile may not be honored on amd64 -x04 */
 
   if (!(*lock_var) && !atomic_swap (lock_var, 1))
     return 0;
index d67a66a3734d5f9a41b5cbbd4dd1d1b59b031e5a..e974c97ec9bab44db5ca8143ae4732ff8f224fcc 100644 (file)
@@ -832,7 +832,7 @@ linetrace_ext_fork_epilogue (const char *variant, const pid_t ret, char * n_line
 
          const char *params = CALL_UTIL (getenv)(SP_COLLECTOR_PARAMS);
          int ret;
-         if (new_exp_name == NULL)
+         if (*new_exp_name == 0)
            TprintfT (DBG_LT0, "linetrace_ext_fork_epilogue: ERROR: getenv(%s) undefined -- new expt aborted!\n",
                      SP_COLLECTOR_EXPNAME);
          else if (params == NULL)
index d1620d7acd6f793300e985f636aa7ecb589ebcbd..40530c2d15df4a52ed5044c91061ebde59aa26de 100644 (file)
@@ -222,7 +222,7 @@ static Cmdtable cmd_lst[] = {   // list of commands
   // like quit, but deletes all data loaded
 
   { HHELP, "xhelp", NULL, NULL, 0, &desc[HHELP]},
-  { WHOAMI, "-whoami", NULL, NULL, 0, &desc[WHOAMI]},
+  { WHOAMI, "whoami", NULL, NULL, 0, NULL},
 
   // these are not recognized at this point
   { LOADOBJECT, "segments", "pmap", NULL, 0, &desc[LOADOBJECT]},
index b0e4a8ff16a0014bdc235b7f7095346901832a0d..0436e09ebea5c935b208bff6bf9040dbd27f5060 100644 (file)
@@ -416,6 +416,8 @@ SrcInfo *
 Function::new_srcInfo ()
 {
   SrcInfo *t = new SrcInfo ();
+  t->src_line = NULL;
+  t->included_from = NULL;
   t->next = srcinfo_list;
   srcinfo_list = t;
   return t;
index 572997f8a886466afdd028c750394281233113b6..53405a2007519beb541a66477f29556b4ce75c9c 100644 (file)
@@ -1257,7 +1257,7 @@ Settings::set_name_format (char *arg)
     return CMD_BAD_ARG;
 
   bool soname_fmt = false;
-  if (colon && (colon + 1))
+  if (colon)
     {
       colon++;
       if (!strcasecmp (colon, NTXT ("soname")))
index 105821e4cfa5a6a28b286a160b34c8e9d675678a..6a89a7b1cdb40499ead52957ea823b9666b4fd70 100644 (file)
@@ -326,7 +326,7 @@ collect::check_executable_arch (Elf *elf)
        // now figure out if the platform can run it
        struct utsname unbuf;
        int r = uname (&unbuf);
-       if (r == 0 && unbuf.machine && strstr (unbuf.machine, "_64") == NULL)
+       if (r == 0 && strstr (unbuf.machine, "_64") == NULL)
          // machine can not run 64 bits, but this code is 64-bit
          return EXEC_ELF_ARCH;
       }
index 06ba33d5b6968c6b00b263cead6c8b6e61d61b1a..180b5104e22e45b6663302bdf2e43a6b2f3205aa 100644 (file)
@@ -69,16 +69,16 @@ bool2str (bool v)
   return v ? "true" : "false";
 }
 
-inline char*
-str2str (String v)
+inline const char*
+str2str (const char* v)
 {
-  return (char*) (v ? v : "NULL");
+  return v ? v : "NULL";
 }
 
-inline char*
-str2s (String v)
+inline const char*
+str2s (const char* v)
 {
-  return (char*) (v ? v : "");
+  return v ? v : "";
 }
 
 inline DbeView *