summaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
authorZim <zezeozue@google.com>2021-06-03 16:08:20 +0100
committerandroid-build-team Robot <android-build-team-robot@google.com>2021-06-16 01:11:03 +0000
commitc072485125763d11da918aec3232b9e3b113d8dd (patch)
tree92a8820fa180927238791e1e31eab81dbde15527 /dist
parent1a3f0b9b4c09b67f6e9a2c2db940cfd490928c44 (diff)
DO NOT MERGE Fix floating point to text conversion overflow
Any precision >=2147483647 will cause a buffer overflow. For instance, executing the following statement will segfault select (printf('%.2147483647G',0.01)); Later sqlite versions fixed this by hard-coding a hard-limit of 100k million on the precision of floating point to text conversions https://sqlite.org/src/info/d08d3405878d394e We fix this on earlier versions by setting the compile time flag to the same 100k million Bug: 153352319 Test: builds Change-Id: Ied86cf81f0064da9d3d963ecf943894bc1ae1a93 (cherry picked from commit 4810d35fd17c3ab2f1fcbe9a0c73a8c587623d89)
Diffstat (limited to 'dist')
-rw-r--r--dist/Android.bp1
1 files changed, 1 insertions, 0 deletions
diff --git a/dist/Android.bp b/dist/Android.bp
index 3bb9a10..b63021d 100644
--- a/dist/Android.bp
+++ b/dist/Android.bp
@@ -39,6 +39,7 @@ cc_defaults {
"-DSQLITE_ENABLE_BATCH_ATOMIC_WRITE",
"-DBIONIC_IOCTL_NO_SIGNEDNESS_OVERLOAD",
"-DSQLITE_DEFAULT_LEGACY_ALTER_TABLE",
+ "-DSQLITE_PRINTF_PRECISION_LIMIT=100000000",
"-Wno-unused-parameter",
"-Werror",