summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Schultz <andreas.schultz@travelping.com>2020-05-15 11:50:07 +0200
committerIvan Shvedunov <ivan4th@gmail.com>2022-07-06 03:32:18 +0400
commit972dc17634e430cb93b97c67b50096acc3164231 (patch)
tree2a091bf4b3a16b7c750dda72f268052141ff6dbe
parentf8631ce7e8886136b4543a7926ffdf1bc760fb11 (diff)
misc: pass NULL instead of 0 for pointer in variadic functions
0 is not NULL (at least not in all cases), passing 0 into a variadic function in a place where the consumer reads it as pointer might leave parts of the pointer uninitilized and hence filled with random data. It seems that this used to work with gcc, but clang seems to treat the 0 in those places as a 32bit integer. Type: fix Signed-off-by: Ivan Shvedunov <ivan4th@gmail.com> Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com> Change-Id: I37d975eef5a1ad98fbfb65ebe47d73458aafea00
-rw-r--r--src/plugins/mactime/mactime_top.c2
-rw-r--r--src/vlib/log.c7
-rw-r--r--src/vlib/unix/cli.c5
-rw-r--r--src/vlib/unix/main.c16
-rw-r--r--src/vnet/session/application.c2
5 files changed, 14 insertions, 18 deletions
diff --git a/src/plugins/mactime/mactime_top.c b/src/plugins/mactime/mactime_top.c
index abcb530608c..d7223f45e56 100644
--- a/src/plugins/mactime/mactime_top.c
+++ b/src/plugins/mactime/mactime_top.c
@@ -441,7 +441,7 @@ print_device_table (mt_main_t * mm)
{
mactime_device_t *dev;
- fformat (stdout, "%U", format_device, 0 /* header */ , 0 /* verbose */ );
+ fformat (stdout, "%U", format_device, NULL /* header */, 0 /* verbose */);
/* *INDENT-OFF* */
pool_foreach (dev, mm->devices)
{
diff --git a/src/vlib/log.c b/src/vlib/log.c
index a7791e4fee5..d084511a647 100644
--- a/src/vlib/log.c
+++ b/src/vlib/log.c
@@ -413,10 +413,9 @@ show_log (vlib_main_t * vm,
while (count--)
{
e = vec_elt_at_index (lm->entries, i);
- vlib_cli_output (vm, "%U %-10U %-14U %v",
- format_time_float, 0, e->timestamp + time_offset,
- format_vlib_log_level, e->level,
- format_vlib_log_class, e->class, e->string);
+ vlib_cli_output (vm, "%U %-10U %-14U %v", format_time_float, NULL,
+ e->timestamp + time_offset, format_vlib_log_level,
+ e->level, format_vlib_log_class, e->class, e->string);
i = (i + 1) % lm->size;
}
diff --git a/src/vlib/unix/cli.c b/src/vlib/unix/cli.c
index cb8aa9f165a..a647dd78250 100644
--- a/src/vlib/unix/cli.c
+++ b/src/vlib/unix/cli.c
@@ -2576,9 +2576,8 @@ more:
{
static u8 *lv;
vec_reset_length (lv);
- lv = format (lv, "%U[%d]: %v",
- format_timeval, 0 /* current bat-time */ ,
- 0 /* current bat-format */ ,
+ lv = format (lv, "%U[%d]: %v", format_timeval,
+ NULL /* current bat-format */, 0 /* current bat-time */,
cli_file_index, cf->current_command);
if ((vec_len (cf->current_command) > 0) &&
(cf->current_command[vec_len (cf->current_command) - 1] != '\n'))
diff --git a/src/vlib/unix/main.c b/src/vlib/unix/main.c
index fd8a7e863a1..6b1a32cfee6 100644
--- a/src/vlib/unix/main.c
+++ b/src/vlib/unix/main.c
@@ -327,17 +327,16 @@ startup_config_process (vlib_main_t * vm,
{
u8 *lv = 0;
lv = format (lv, "%U: ***** Startup Config *****\n%v",
- format_timeval, 0 /* current bat-time */ ,
- 0 /* current bat-format */ ,
- buf);
+ format_timeval, NULL /* current bat-format */,
+ 0 /* current bat-time */, buf);
{
int rv __attribute__ ((unused)) =
write (um->log_fd, lv, vec_len (lv));
}
vec_reset_length (lv);
- lv = format (lv, "%U: ***** End Startup Config *****\n",
- format_timeval, 0 /* current bat-time */ ,
- 0 /* current bat-format */ );
+ lv =
+ format (lv, "%U: ***** End Startup Config *****\n", format_timeval,
+ NULL /* current bat-format */, 0 /* current bat-time */);
{
int rv __attribute__ ((unused)) =
write (um->log_fd, lv, vec_len (lv));
@@ -477,9 +476,8 @@ unix_config (vlib_main_t * vm, unformat_input_t * input)
{
u8 *lv = 0;
lv = format (0, "%U: ***** Start: PID %d *****\n",
- format_timeval, 0 /* current bat-time */ ,
- 0 /* current bat-format */ ,
- getpid ());
+ format_timeval, NULL /* current bat-format */,
+ 0 /* current bat-time */, getpid ());
{
int rv __attribute__ ((unused)) =
write (um->log_fd, lv, vec_len (lv));
diff --git a/src/vnet/session/application.c b/src/vnet/session/application.c
index 7f88c7a5ff0..67dc7d633ec 100644
--- a/src/vnet/session/application.c
+++ b/src/vnet/session/application.c
@@ -1681,7 +1681,7 @@ application_format_listeners (application_t * app, int verbose)
if (!app)
{
- vlib_cli_output (vm, "%U", format_app_worker_listener, 0 /* header */ ,
+ vlib_cli_output (vm, "%U", format_app_worker_listener, NULL /* header */,
0, 0, verbose);
return;
}