libsmbios/0004-Encode-string-used-when-setting-strings.patch

44 lines
1.6 KiB
Diff

From 0cd2e55565cd1c1b8f2bc14fafb690083e278923 Mon Sep 17 00:00:00 2001
From: Mario Limonciello <mario.limonciello@dell.com>
Date: Wed, 27 Mar 2019 12:58:01 -0500
Subject: [PATCH] Encode string used when setting strings (Fixes: #57)
---
src/bin/smbios-sys-info | 2 +-
src/py-cli/cli.py | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/bin/smbios-sys-info b/src/bin/smbios-sys-info
index 07a82ea..b789300 100755
--- a/src/bin/smbios-sys-info
+++ b/src/bin/smbios-sys-info
@@ -117,7 +117,7 @@ def main():
print()
print(_("Setting new tag value: %s") % options.set)
fn = info_list[ options.taglist[0] ][2]
- fn(options.set, options.password_ascii, options.password_scancode)
+ fn(options.set.encode(), options.password_ascii, options.password_scancode)
except (smbios.TableParseError,) as e:
exit_code=3
diff --git a/src/py-cli/cli.py b/src/py-cli/cli.py
index c865646..50b479d 100644
--- a/src/py-cli/cli.py
+++ b/src/py-cli/cli.py
@@ -75,8 +75,12 @@ def setup_std_options(options):
if options.password is not None:
options.password_scancode = braindead_asc_to_scancode(options.password)
options.password_ascii = options.password
+ if options.password_ascii:
+ options.password_ascii = options.password_ascii.encode('utf-8')
if options.raw:
options.password_scancode = options.password
+ if options.password_scancode:
+ options.password_scancode = options.password_scancode.encode('utf-8')
if getattr(options, "security_key", None) is not None:
options.security_key = int(options.security_key, 0)
--
2.33.0