From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752741AbbLFAGA (ORCPT ); Sat, 5 Dec 2015 19:06:00 -0500 Received: from mail-lb0-f176.google.com ([209.85.217.176]:33058 "EHLO mail-lb0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752104AbbLFAF7 (ORCPT ); Sat, 5 Dec 2015 19:05:59 -0500 From: Rasmus Villemoes To: William Hubbs , Chris Brannon , Kirk Reiser , Samuel Thibault , Greg Kroah-Hartman Cc: Rasmus Villemoes , speakup@linux-speakup.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Subject: [PATCH] staging: speakup: kobjects.c: fix char argument to %02x Date: Sun, 6 Dec 2015 01:05:47 +0100 Message-Id: <1449360347-20089-1-git-send-email-linux@rasmusvillemoes.dk> X-Mailer: git-send-email 2.6.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If char is signed and ch happens to be negative, printing ch with "%02x" will not do as intended (when ch is -19, one will get "ffffffed"). Fix that by masking with 0xff. Signed-off-by: Rasmus Villemoes --- drivers/staging/speakup/kobjects.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/speakup/kobjects.c b/drivers/staging/speakup/kobjects.c index fdfeb42b2b8f..8b88f03e266b 100644 --- a/drivers/staging/speakup/kobjects.c +++ b/drivers/staging/speakup/kobjects.c @@ -567,7 +567,7 @@ ssize_t spk_var_show(struct kobject *kobj, struct kobj_attribute *attr, if (ch >= ' ' && ch < '~') *cp1++ = ch; else - cp1 += sprintf(cp1, "\\x%02x", ch); + cp1 += sprintf(cp1, "\\x%02x", ch & 0xff); } *cp1++ = '"'; *cp1++ = '\n'; -- 2.6.1