Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE
freeradius-server.7152
62f7d288.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 62f7d288.patch of Package freeradius-server.7152
commit 62f7d2885ad02911f0ae71e7864d4805a489137b Author: Arran Cudbard-Bell <a.cudbardb@freeradius.org> Date: Wed Jul 5 13:07:31 2017 -0400 FR-AD-003 - Pass correct statement length into sqlite3_prepare[_v2] diff --git a/src/modules/rlm_sql/drivers/rlm_sql_sqlite/rlm_sql_sqlite.c b/src/modules/rlm_sql/drivers/rlm_sql_sqlite/rlm_sql_sqlite.c index c94831da3..9cf1aff60 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_sqlite/rlm_sql_sqlite.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_sqlite/rlm_sql_sqlite.c @@ -233,7 +233,7 @@ static int sql_loadfile(TALLOC_CTX *ctx, sqlite3 *db, char const *filename) ssize_t len; int statement_cnt = 0; char *buffer; - char *p, *q, *s; + char *p, *q; int cl; FILE *f; struct stat finfo; @@ -321,20 +321,18 @@ static int sql_loadfile(TALLOC_CTX *ctx, sqlite3 *db, char const *filename) /* * Statement delimiter is ;\n */ - s = p = buffer; + p = buffer; while ((q = strchr(p, ';'))) { - if (q[1] != '\n') { + if ((q[1] != '\n') && (q[1] != '\0')) { p = q + 1; statement_cnt++; continue; } - *q = '\0'; - #ifdef HAVE_SQLITE3_PREPARE_V2 - status = sqlite3_prepare_v2(db, s, len, &statement, &z_tail); + status = sqlite3_prepare_v2(db, p, q - p, &statement, &z_tail); #else - status = sqlite3_prepare(db, s, len, &statement, &z_tail); + status = sqlite3_prepare(db, p, q - p, &statement, &z_tail); #endif if (sql_check_error(db, status) != RLM_SQL_OK) { @@ -359,7 +357,7 @@ static int sql_loadfile(TALLOC_CTX *ctx, sqlite3 *db, char const *filename) } statement_cnt++; - p = s = q + 1; + p = q + 1; } talloc_free(buffer);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor