9dc775aabb
We should only access console_devices[file][i] once we have checked that i
< cd_count[file]. Otherwise, we will access uninitialized memory at the end
of the loop. console_devices[file][i] should not be NULL, but putting the
assignment in the loop condition allows us to ensure that i is checked
beforehand. This isn't a bug, but it does make valgrind stop complaining.
Fixes: 400797cad3
("IOMUX: Split out for_each_console_dev() helper macro")
Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Andrew Scull <ascull@google.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
38 lines
950 B
C
38 lines
950 B
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* (C) Copyright 2008
|
|
* Gary Jennejohn, DENX Software Engineering GmbH, garyj@denx.de.
|
|
*/
|
|
|
|
#ifndef _IO_MUX_H
|
|
#define _IO_MUX_H
|
|
|
|
#include <stdio_dev.h>
|
|
|
|
/*
|
|
* Stuff required to support console multiplexing.
|
|
*/
|
|
|
|
/*
|
|
* Pointers to devices used for each file type. Defined in console.c
|
|
* but storage is allocated in iomux.c.
|
|
*/
|
|
extern struct stdio_dev **console_devices[MAX_FILES];
|
|
/*
|
|
* The count of devices assigned to each FILE. Defined in console.c
|
|
* and populated in iomux.c.
|
|
*/
|
|
extern int cd_count[MAX_FILES];
|
|
|
|
#define for_each_console_dev(i, file, dev) \
|
|
for (i = 0; \
|
|
i < cd_count[file] && (dev = console_devices[file][i]); \
|
|
i++)
|
|
|
|
int iomux_match_device(struct stdio_dev **, const int, struct stdio_dev *);
|
|
int iomux_doenv(const int, const char *);
|
|
int iomux_replace_device(const int, const char *, const char *);
|
|
void iomux_printdevs(const int);
|
|
|
|
#endif /* _IO_MUX_H */
|