From patchwork Sat Dec 4 03:55:50 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julian Calaby X-Patchwork-Id: 74243 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 92DFDB70A3 for ; Sat, 4 Dec 2010 15:05:21 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754478Ab0LDEFP (ORCPT ); Fri, 3 Dec 2010 23:05:15 -0500 Received: from outbound.icp-qv1-irony-out6.iinet.net.au ([203.59.1.109]:65496 "EHLO outbound.icp-qv1-irony-out6.iinet.net.au" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754382Ab0LDEFP (ORCPT ); Fri, 3 Dec 2010 23:05:15 -0500 X-Greylist: delayed 559 seconds by postgrey-1.27 at vger.kernel.org; Fri, 03 Dec 2010 23:05:14 EST X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AssBAJ5K+Ux8qFk9/2dsb2JhbAAHlRWCaM5VhUgEimuDLIFsbA X-IronPort-AV: E=Sophos;i="4.59,297,1288540800"; d="scan'208";a="177537607" Received: from unknown (HELO [192.168.2.4]) ([124.168.89.61]) by outbound.icp-qv1-irony-out6.iinet.net.au with ESMTP; 04 Dec 2010 11:55:50 +0800 Message-ID: <4CF9BBC6.3080809@julian.is-a-geek.org> Date: Sat, 04 Dec 2010 14:55:50 +1100 From: Julian Calaby User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101030 Icedove/3.0.10 MIME-Version: 1.0 To: sparclinux@vger.kernel.org CC: davem@davemloft.net Subject: [RFC 1/8] sparc: prom: Sanitize return value from prom_nbputchar() References: In-Reply-To: Sender: sparclinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: sparclinux@vger.kernel.org Signed-off-by: Julian Calaby --- arch/sparc/prom/console_32.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/sparc/prom/console_32.c b/arch/sparc/prom/console_32.c index 4886310..b05e3db 100644 --- a/arch/sparc/prom/console_32.c +++ b/arch/sparc/prom/console_32.c @@ -27,13 +27,14 @@ static int prom_nbputchar(const char *buf) spin_lock_irqsave(&prom_lock, flags); switch(prom_vers) { case PROM_V0: - i = (*(romvec->pv_nbputchar))(*buf); + if ((*(romvec->pv_nbputchar))(*buf)) + i = 1; break; case PROM_V2: case PROM_V3: if ((*(romvec->pv_v2devops).v2_dev_write)(*romvec->pv_v2bootargs.fd_stdout, buf, 0x1) == 1) - i = 0; + i = 1; break; default: break; @@ -47,7 +48,7 @@ void prom_console_write_buf(const char *buf, int len) { while (len) { int n = prom_nbputchar(buf); - if (n) + if (n < 0) continue; len--; buf++;