mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] bcd: limit bin2bcd input value to lie between 0-99
@ 2011-11-16  5:11 vbyravarasu
  2011-11-22 22:32 ` Andrew Morton
  0 siblings, 1 reply; 5+ messages in thread
From: vbyravarasu @ 2011-11-16  5:11 UTC (permalink / raw)
  To: dbrownell, torvalds, akpm, a.zummo, bunk, linux-kernel; +Cc: venu byravarasu

From: venu byravarasu <vbyravarasu@nvidia.com>

Current implementation of bin2bcd allows any value
between 0x0 to 0xF to be stored in the most significant
nibble of its returned value, against to the BCD limits
of 0 - 9. Hence fixing it.

e.g. say val passed to bin2bcd is 123.
In that case the expected value to be returned by
this function is 0x23.
However, without the fix being added, it would
return 0xC3.

Signed-off-by: venu byravarasu <vbyravarasu@nvidia.com>
---
 lib/bcd.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/lib/bcd.c b/lib/bcd.c
index d74257f..d715474 100644
--- a/lib/bcd.c
+++ b/lib/bcd.c
@@ -9,6 +9,7 @@ EXPORT_SYMBOL(bcd2bin);
 
 unsigned char bin2bcd(unsigned val)
 {
+	val %= 100;
 	return ((val / 10) << 4) + val % 10;
 }
 EXPORT_SYMBOL(bin2bcd);
-- 
1.7.1.1


^ permalink raw reply	[flat|nested] 5+ messages in thread
* [PATCH] bcd: limit bin2bcd input value to lie between 0-99
@ 2011-11-15 12:40 vbyravarasu
  0 siblings, 0 replies; 5+ messages in thread
From: vbyravarasu @ 2011-11-15 12:40 UTC (permalink / raw)
  To: linux-kernel; +Cc: venu byravarasu

From: venu byravarasu <vbyravarasu@nvidia.com>

If bin2bcd gets a value which is more than 100,
there are chances that it may store non decimal
value in the most significant nibble.

e.g. say val passed to bin2bcd is 112.
In that case the expected value to be returned by
this function is 12.
However, without the fix being added it would
be 112.

Signed-off-by: venu byravarasu <vbyravarasu@nvidia.com>
---
 lib/bcd.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/lib/bcd.c b/lib/bcd.c
index d74257f..d715474 100644
--- a/lib/bcd.c
+++ b/lib/bcd.c
@@ -9,6 +9,7 @@ EXPORT_SYMBOL(bcd2bin);
 
 unsigned char bin2bcd(unsigned val)
 {
+	val %= 100;
 	return ((val / 10) << 4) + val % 10;
 }
 EXPORT_SYMBOL(bin2bcd);
-- 
1.7.1.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-12-13  9:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-16  5:11 [PATCH] bcd: limit bin2bcd input value to lie between 0-99 vbyravarasu
2011-11-22 22:32 ` Andrew Morton
2011-11-23  3:52   ` Venu Byravarasu
2011-12-13  9:56   ` Venu Byravarasu
  -- strict thread matches above, loose matches on Subject: below --
2011-11-15 12:40 vbyravarasu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®