segv less
This commit is contained in:
parent
46f2109060
commit
0c83eb7979
@ -9,18 +9,16 @@ extern "C" {
|
|||||||
|
|
||||||
int Database::validate(const char * const sql) {
|
int Database::validate(const char * const sql) {
|
||||||
int r;
|
int r;
|
||||||
char * dup = strdup(sql);
|
|
||||||
struct psql_state * pstate = psql_new();
|
struct psql_state * pstate = psql_new();
|
||||||
if(!pstate) {
|
if(!pstate) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
psql_set_string_input(pstate, dup);
|
psql_set_string_input(pstate, sql);
|
||||||
yyerrno = 0;
|
yyerrno = 0;
|
||||||
r = psql_parse(pstate);
|
r = psql_parse(pstate);
|
||||||
|
|
||||||
psql_free(pstate);
|
psql_free(pstate);
|
||||||
free(dup);
|
|
||||||
|
|
||||||
return r
|
return r
|
||||||
|| yyerrno;
|
|| yyerrno;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user