From 509776a0d1fd98b3db80815a42ad3d853a68bdfd Mon Sep 17 00:00:00 2001 From: Prasad Vaidya Date: Fri, 21 Oct 2016 13:57:47 +0530 Subject: [PATCH 1/2] Fix: Replace erlang function with fail-safe jlib function. --- src/ejabberd_sql.erl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ejabberd_sql.erl b/src/ejabberd_sql.erl index b19f16414..5900b414b 100644 --- a/src/ejabberd_sql.erl +++ b/src/ejabberd_sql.erl @@ -629,7 +629,7 @@ generic_sql_query_format(SQLQuery) -> generic_escape() -> #sql_escape{string = fun(X) -> <<"'", (escape(X))/binary, "'">> end, - integer = fun(X) -> integer_to_binary(X) end, + integer = fun(X) -> jlib:i2l(X) end, boolean = fun(true) -> <<"1">>; (false) -> <<"0">> end @@ -646,7 +646,7 @@ sqlite_sql_query_format(SQLQuery) -> sqlite_escape() -> #sql_escape{string = fun(X) -> <<"'", (standard_escape(X))/binary, "'">> end, - integer = fun(X) -> integer_to_binary(X) end, + integer = fun(X) -> jlib:i2l(X) end, boolean = fun(true) -> <<"1">>; (false) -> <<"0">> end @@ -664,13 +664,13 @@ mssql_sql_query(SQLQuery) -> pgsql_prepare(SQLQuery, State) -> Escape = #sql_escape{_ = fun(X) -> X end}, N = length((SQLQuery#sql_query.args)(Escape)), - Args = [<<$$, (integer_to_binary(I))/binary>> || I <- lists:seq(1, N)], + Args = [<<$$, (jlib:i2l(I))/binary>> || I <- lists:seq(1, N)], Query = (SQLQuery#sql_query.format_query)(Args), pgsql:prepare(State#state.db_ref, SQLQuery#sql_query.hash, Query). pgsql_execute_escape() -> #sql_escape{string = fun(X) -> X end, - integer = fun(X) -> [integer_to_binary(X)] end, + integer = fun(X) -> [jlib:i2l(X)] end, boolean = fun(true) -> "1"; (false) -> "0" end From cdafd3254b25856fb9aaa171f2f5c3bf1be52cf2 Mon Sep 17 00:00:00 2001 From: Prasad Vaidya Date: Fri, 21 Oct 2016 15:02:39 +0530 Subject: [PATCH 2/2] Rollback minor change, to avoid redundant use of fail-safe function --- src/ejabberd_sql.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ejabberd_sql.erl b/src/ejabberd_sql.erl index 5900b414b..27c2815ba 100644 --- a/src/ejabberd_sql.erl +++ b/src/ejabberd_sql.erl @@ -664,7 +664,7 @@ mssql_sql_query(SQLQuery) -> pgsql_prepare(SQLQuery, State) -> Escape = #sql_escape{_ = fun(X) -> X end}, N = length((SQLQuery#sql_query.args)(Escape)), - Args = [<<$$, (jlib:i2l(I))/binary>> || I <- lists:seq(1, N)], + Args = [<<$$, (integer_to_binary(I))/binary>> || I <- lists:seq(1, N)], Query = (SQLQuery#sql_query.format_query)(Args), pgsql:prepare(State#state.db_ref, SQLQuery#sql_query.hash, Query).