From 4b608038b0d3b00c42c84faa1414ae1d037027b5 Mon Sep 17 00:00:00 2001 From: drh Date: Wed, 15 Apr 2015 19:25:25 +0000 Subject: [PATCH] Fix a potential one-byte buffer overread in the command-line shell. FossilOrigin-Name: e018f4bf1f27f7838342940ad89a12d7f1536e8e --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/shell.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/manifest b/manifest index 2bcb4fd1f2..a7f5fc07e9 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Prevent\sthe\sfetchPayload()\sroutine\sfrom\sreporting\sa\scell\ssize\sthat\sextends\noff\sthe\send\sof\sthe\spage\son\sa\spathologically\scorrupted\sdatabase\sfile. -D 2015-04-15T17:26:55.979 +C Fix\sa\spotential\sone-byte\sbuffer\soverread\sin\sthe\scommand-line\sshell. +D 2015-04-15T19:25:25.409 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 5f78b1ab81b64e7c57a75d170832443e66c0880a F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -231,7 +231,7 @@ F src/random.c ba2679f80ec82c4190062d756f22d0c358180696 F src/resolve.c 66cfe49a9c3b449ef13b89a8c47036a4ed167eab F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e F src/select.c 93260bc9e7e0e6dfe1b7cb8815b0ed4cad8be9e3 -F src/shell.c 84a1593bd86aaa14f4da8a8f9b16fbc239d262aa +F src/shell.c 72b61a9d41ba12b67ea06fe9267abcc012c6c5bb F src/sqlite.h.in ca27603a36fcacdaac5a19d8ee35aaff8ce8516f F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad F src/sqlite3ext.h 17d487c3c91b0b8c584a32fbeb393f6f795eea7d @@ -1250,7 +1250,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 61d72e17916bc043ce53c64e5ba7050a9bae554e -R a75e3890d67000037a79bd4d7c9f248e +P f71053cf658b3260a32ac06f8ba5c2cde0ea54dd +R eab6e1273b6697560bfb82b228385932 U drh -Z c0a93418012c7dd834fb5d24bb6e0682 +Z 6d428eedf5ae6fc2d3dc612cb5905085 diff --git a/manifest.uuid b/manifest.uuid index ec95ab78c0..5482423efa 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -f71053cf658b3260a32ac06f8ba5c2cde0ea54dd \ No newline at end of file +e018f4bf1f27f7838342940ad89a12d7f1536e8e \ No newline at end of file diff --git a/src/shell.c b/src/shell.c index 7ff3eb6cb0..0f7234c47f 100644 --- a/src/shell.c +++ b/src/shell.c @@ -1944,7 +1944,7 @@ static void resolve_backslashes(char *z){ char c; while( *z && *z!='\\' ) z++; for(i=j=0; (c = z[i])!=0; i++, j++){ - if( c=='\\' ){ + if( c=='\\' && z[i+1]!=0 ){ c = z[++i]; if( c=='n' ){ c = '\n'; -- 2.47.2