From dcd8d2d4033633955c1f4507e16d4616b9eac7f2 Mon Sep 17 00:00:00 2001 From: larrybr Date: Thu, 2 Dec 2021 20:30:35 +0000 Subject: [PATCH] Make shell buildable, fix a potential leak-to-be FossilOrigin-Name: eab1e1af5b51eb267e9bceaf6412d2be12b8f3deb435631e55291211099720ff --- manifest | 14 +++++++------- manifest.uuid | 2 +- src/shell.c.in | 3 ++- src/shext_linkage.h | 12 ++++++------ 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/manifest b/manifest index 54d0a76419..509cf69bce 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Merge\sfor\sCLI\sfix. -D 2021-12-02T18:09:45.324 +C Make\sshell\sbuildable,\sfix\sa\spotential\sleak-to-be +D 2021-12-02T20:30:35.512 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -551,8 +551,8 @@ F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c F src/resolve.c 4a1db4aadd802683db40ca2dbbb268187bd195f10cbdb7206dbd8ac988795571 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92 F src/select.c a7a3d9f54eb24821ec5f67f2e5589b68a5d42d46fc5849d7376886777d93a85a -F src/shell.c.in 15b03f15d5f56443eabe64e8a1f080e5376c619df6e639abb60f44fec242b9b5 -F src/shext_linkage.h adf6b1c6a918b3c695a2181f1cec9cc452afd89fdbb9f476d4cd495e6a7c9aa7 +F src/shell.c.in d44df00f8353ade83160cf1f4229e7c9f5dbc0270d6221b8a8435fe3ba2d0d97 +F src/shext_linkage.h 4bb604b09f051571d55002713d86bddc7593af302190371eb7e7171a09472d5c F src/sqlite.h.in 5cd209ac7dc4180f0e19292846f40440b8488015849ca0110c70b906b57d68f0 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h 8ff2fd2c166150b2e48639f5e506fb44e29f1a3f65031710b9e89d1c126ac839 @@ -1934,7 +1934,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 00c5af1f7e638de0638aeaa26ecf4eefda16c33fd81bad126909b87fce4c3093 8832fa9088414a8d285a457a4effad0b7d610a87ca73cfb5c5812e784649761e -R 1486daf937ee23873c5f6e3d6819fcea +P 98cf18611d4c0ddc7ee38ba2565265ad5bc1c9ceec545f9f8f63987015e64117 +R 584282e346a057ab6e193ad4c9e6025d U larrybr -Z 405b7ff2ea456709cae7ac627ce968a0 +Z 5ff8908b0ba1aa560ce65e0890a0d874 diff --git a/manifest.uuid b/manifest.uuid index 0f91ed21e5..1737c9d4a6 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -98cf18611d4c0ddc7ee38ba2565265ad5bc1c9ceec545f9f8f63987015e64117 \ No newline at end of file +eab1e1af5b51eb267e9bceaf6412d2be12b8f3deb435631e55291211099720ff \ No newline at end of file diff --git a/src/shell.c.in b/src/shell.c.in index 8dd1eb53eb..ca9a581a2d 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -10944,6 +10944,7 @@ typedef enum { #define QSS_PLAINDARK(qss) (((qss)&~QSS_EndingSemi)==QSS_HasDark) #define QSS_SEMITERM(qss) (((qss)&~QSS_HasDark)==QSS_EndingSemi) +/* ** Scan line for classification to guide shell's handling. ** The scan is resumable for subsequent lines when prior ** return values are passed as the 2nd argument. @@ -11319,7 +11320,7 @@ static void process_sqliterc( /* ** Show available command line options */ -static const char zOptions[] = +static const char *zOptions = #if defined(SQLITE_HAVE_ZLIB) && !defined(SQLITE_OMIT_VIRTUALTABLE) " -A ARGS... run \".archive ARGS\" and exit\n" #endif diff --git a/src/shext_linkage.h b/src/shext_linkage.h index 0a9e51187c..bd1d945776 100644 --- a/src/shext_linkage.h +++ b/src/shext_linkage.h @@ -161,12 +161,12 @@ typedef struct ShellExtensionLink { */ #define DEFINE_SHDB_TO_SHEXT_API(func_name) \ static ShellExtensionLink * func_name(sqlite3 * db){ \ - ShellExtensionLink *rv; sqlite3_stmt *pStmt; \ - if( SQLITE_OK!=sqlite3_prepare(db,"SELECT shext_pointer(0)",-1,&pStmt,0) \ - || SQLITE_ROW != sqlite3_step(pStmt) ) return 0; \ - rv = (ShellExtensionLink *)sqlite3_value_pointer \ - (sqlite3_column_value(pStmt, 0), SHELLEXT_API_POINTERS); \ - sqlite3_finalize(pStmt); return rv; \ + ShellExtensionLink *rv = 0; sqlite3_stmt *pStmt = 0; \ + if( SQLITE_OK==sqlite3_prepare(db,"SELECT shext_pointer(0)",-1,&pStmt,0) \ + && SQLITE_ROW == sqlite3_step(pStmt) ) \ + rv = (ShellExtensionLink *)sqlite3_value_pointer \ + (sqlite3_column_value(pStmt, 0), SHELLEXT_API_POINTERS); \ + sqlite3_finalize(pStmt); return rv; \ } #endif /* !defined(SQLITE3SHX_H) */ -- 2.47.3