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 <[email protected]>
Signed-off-by: Andreas Schultz <[email protected]>
Change-Id: I37d975eef5a1ad98fbfb65ebe47d73458aafea00
{
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)
{
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;
}
{
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'))
{
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));
{
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));
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;
}