sparc: prom: Sanitize return value from prom_nbputchar()
Signed-off-by: Julian Calaby <julian.calaby@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
23bcbf1b63
commit
154337688b
@@ -27,13 +27,14 @@ static int prom_nbputchar(const char *buf)
|
|||||||
spin_lock_irqsave(&prom_lock, flags);
|
spin_lock_irqsave(&prom_lock, flags);
|
||||||
switch(prom_vers) {
|
switch(prom_vers) {
|
||||||
case PROM_V0:
|
case PROM_V0:
|
||||||
i = (*(romvec->pv_nbputchar))(*buf);
|
if ((*(romvec->pv_nbputchar))(*buf))
|
||||||
|
i = 1;
|
||||||
break;
|
break;
|
||||||
case PROM_V2:
|
case PROM_V2:
|
||||||
case PROM_V3:
|
case PROM_V3:
|
||||||
if ((*(romvec->pv_v2devops).v2_dev_write)(*romvec->pv_v2bootargs.fd_stdout,
|
if ((*(romvec->pv_v2devops).v2_dev_write)(*romvec->pv_v2bootargs.fd_stdout,
|
||||||
buf, 0x1) == 1)
|
buf, 0x1) == 1)
|
||||||
i = 0;
|
i = 1;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -47,7 +48,7 @@ void prom_console_write_buf(const char *buf, int len)
|
|||||||
{
|
{
|
||||||
while (len) {
|
while (len) {
|
||||||
int n = prom_nbputchar(buf);
|
int n = prom_nbputchar(buf);
|
||||||
if (n)
|
if (n < 0)
|
||||||
continue;
|
continue;
|
||||||
len--;
|
len--;
|
||||||
buf++;
|
buf++;
|
||||||
|
Reference in New Issue
Block a user