From 7cceb655b388e9a198562fa9f31ef6d353792e23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Wed, 11 Mar 2015 22:23:31 +0000 Subject: [PATCH] protect against crashes in bad user code --- library/lineutils.yap | 3 ++- packages/clib | 2 +- packages/myddas/pl/myddas.ypp | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/library/lineutils.yap b/library/lineutils.yap index 43d048e16..0a157cdd1 100644 --- a/library/lineutils.yap +++ b/library/lineutils.yap @@ -206,7 +206,7 @@ empty. As an example, consider: ~~~~~{.prolog} ?- fields("Hello I am free"," *",S). -S = ["Hello","","I","am","","free"] ? + S = ["Hello","","I","am","","free"] ? ~~~~~ */ fields(String, FieldsCodes, Strings) :- @@ -275,6 +275,7 @@ filter(StreamInp, StreamOut, Command) :- ! ; call(Command, Line, NewLine), + ground(NewLine), format(StreamOut, '~s~n', [NewLine]), fail ). diff --git a/packages/clib b/packages/clib index 8257467ff..ac9806399 160000 --- a/packages/clib +++ b/packages/clib @@ -1 +1 @@ -Subproject commit 8257467ff9a7bb901d1688e6a75ad072e0246aba +Subproject commit ac9806399b2484b91507df6973808d8f8027c157 diff --git a/packages/myddas/pl/myddas.ypp b/packages/myddas/pl/myddas.ypp index fff6ae72b..3327db4f1 100644 --- a/packages/myddas/pl/myddas.ypp +++ b/packages/myddas/pl/myddas.ypp @@ -870,7 +870,7 @@ You can see the available SQL Modes at the MySQL homepage at % db_open/4 % -#if MYDDAS_DECLARATIONS +#if 1 // MYDDAS_DECLARATIONS :- db_open(Protocol) extra_arguments db=Db, port=Port, @@ -904,7 +904,7 @@ atom(X) ==> nonvar(X), \+ atom(X) * nonvar(X) ==> error(atom, X), var(X) ==> error(var, X), -internet_host(X) <=> atom(X), +internet_host(X) == atom(X), integer(X) ==> nonvar(X), \+ integer(X) * nonvar(X) ==> error(integer, X), @@ -976,7 +976,7 @@ c^c_db_odbc_connect(ODBCEntry,User,Password,Handle) ), /* ( c^c_db_my_connect(Host,User,Password,Db,Port,Socket,Handle) == --(Protocol = odbc)* +Protocol = odbc (Protocol = mysql) * -(Protocol = sqlite3)* -(Protocol = postgres) ),