Changeset: ec2d327ce340 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ec2d327ce340
Modified Files:
        gdk/gdk_logger.c
Branch: Jul2012
Log Message:

Added tests for tr being NULL (which shouldn't happen).
Found by coverity.


diffs (51 lines):

diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -794,7 +794,9 @@ logger_readlog(logger *lg, char *filenam
                                fprintf(stderr, "logger tstart %d\n", tr->tid);
                        break;
                case LOG_END:
-                       if (l.tid != l.nr)      /* abort record */
+                       if (tr == NULL)
+                               err = 1;
+                       else if (l.tid != l.nr) /* abort record */
                                tr = tr_abort(lg, tr);
                        else
                                tr = tr_commit(lg, tr);
@@ -805,31 +807,31 @@ logger_readlog(logger *lg, char *filenam
                case LOG_INSERT:
                case LOG_DELETE:
                case LOG_UPDATE:
-                       if (name == NULL)
+                       if (name == NULL || tr == NULL)
                                err = 1;
                        else
                                err = (log_read_updates(lg, tr, &l, name) != 
LOG_OK);
                        break;
                case LOG_CREATE:
-                       if (name == NULL)
+                       if (name == NULL || tr == NULL)
                                err = 1;
                        else
                                err = (log_read_create(lg, tr, name) != LOG_OK);
                        break;
                case LOG_USE:
-                       if (name == NULL)
+                       if (name == NULL || tr == NULL)
                                err = 1;
                        else
                                log_read_use(lg, tr, &l, name);
                        break;
                case LOG_DESTROY:
-                       if (name == NULL)
+                       if (name == NULL || tr == NULL)
                                err = 1;
                        else
                                log_read_destroy(lg, tr, name);
                        break;
                case LOG_CLEAR:
-                       if (name == NULL)
+                       if (name == NULL || tr == NULL)
                                err = 1;
                        else
                                log_read_clear(lg, tr, name);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to