Changeset: 27f9cf459d48 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/27f9cf459d48
Modified Files:
        sql/ChangeLog.Jan2022
        sql/storage/bat/bat_storage.c
Branch: Jan2022
Log Message:

Merge with Jul2021 branch.


diffs (39 lines):

diff --git a/sql/ChangeLog.Jan2022 b/sql/ChangeLog.Jan2022
--- a/sql/ChangeLog.Jan2022
+++ b/sql/ChangeLog.Jan2022
@@ -1,6 +1,10 @@
 # ChangeLog file for sql
 # This file is updated with Maddlog
 
+* Fri Dec 16 2022 Sjoerd Mullender <sjo...@acm.org>
+- Added some error checking to prevent crashes.  Errors would mainly
+  occur under memory pressure.
+
 * Wed Dec 14 2022 Sjoerd Mullender <sjo...@acm.org>
 - Fixed cleanup after a failed allocation where the data being cleaned
   up was unitialized but still used as pointers to memory that also had
diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -613,8 +613,8 @@ find_tmp_idx(sql_trans *tr, sql_idx *i)
 static sql_delta *
 temp_col_timestamp_delta( sql_trans *tr, sql_column *c)
 {
-       if (isGlobal(c->t))
-               c = find_tmp_column(tr, c);
+       if (isGlobal(c->t) && (c = find_tmp_column(tr, c)) == NULL)
+               return NULL;
        assert (!isGlobal(c->t));
        assert(isTempTable(c->t));
        sql_delta *d = temp_delta(ATOMIC_PTR_GET(&c->data), tr->tid);
@@ -674,8 +674,8 @@ timestamp_storage( sql_trans *tr, storag
 static storage *
 temp_tab_timestamp_storage( sql_trans *tr, sql_table *t)
 {
-       if (isGlobal(t))
-               t = find_tmp_table(tr, t);
+       if (isGlobal(t) && (t = find_tmp_table(tr, t)) == NULL)
+               return NULL;
        assert(!isGlobal(t));
        assert(isTempTable(t));
        storage *d = temp_storage(ATOMIC_PTR_GET(&t->data), tr->tid);
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to