From 4f07c2220bedf50743bc384dd221eb14f6b0b300 Mon Sep 17 00:00:00 2001 From: "Klauer, Daniel" Date: Tue, 5 Apr 2016 08:49:15 +0000 Subject: bitbake: persist_data: Return str instead of unicode for sqlite3 text queries Python 2's sqlite3 module defaults to returning Unicode strings for SQL text queries, which could trickle down to other parts of bitbake code and cause unexpected Unicode conversions. Using byte strings avoids this issue. For example, the git fetcher's AUTOREV support caches HEAD SHA1's using bb.persist_data, so sometimes the git command strings passed to fetch2's runfetchcmd() were unicode, potentially causing UnicodeDecodeErrors when it appended the values of environment variables containing non-ASCII chars. [YOCTO #9382] (Bitbake rev: 09623a0811c613a47a01ae465b822d8156faca30) Signed-off-by: Daniel Klauer Signed-off-by: Richard Purdie --- bitbake/lib/bb/persist_data.py | 1 + 1 file changed, 1 insertion(+) (limited to 'bitbake/lib') diff --git a/bitbake/lib/bb/persist_data.py b/bitbake/lib/bb/persist_data.py index 5795bc835b..e45042324e 100644 --- a/bitbake/lib/bb/persist_data.py +++ b/bitbake/lib/bb/persist_data.py @@ -201,6 +201,7 @@ class PersistData(object): def connect(database): connection = sqlite3.connect(database, timeout=5, isolation_level=None) connection.execute("pragma synchronous = off;") + connection.text_factory = str return connection def persist(domain, d): -- cgit v1.2.3-54-g00ecf