Changeset: 72ba2817969e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=72ba2817969e
Modified Files:
        monetdb5/mal/mal_readline.c
Branch: Jan2014
Log Message:

Fix error case to not dereference NULL pointers.


diffs (37 lines):

diff --git a/monetdb5/mal/mal_readline.c b/monetdb5/mal/mal_readline.c
--- a/monetdb5/mal/mal_readline.c
+++ b/monetdb5/mal/mal_readline.c
@@ -484,8 +484,10 @@ readConsole(Client cntxt)
                if( len >= cntxt->fdin->size) {
                        /* extremly dirty inplace buffer overwriting */
                        cntxt->fdin->buf= realloc(cntxt->fdin->buf, len+1);
-                       if( cntxt->fdin->buf == NULL)
+                       if( cntxt->fdin->buf == NULL) {
                                GDKerror("readConsole" MAL_MALLOC_FAIL);
+                               goto bailout;
+                       }
                        cntxt->fdin->size = len;
                }
                strcpy(cntxt->fdin->buf, buf);
@@ -493,14 +495,14 @@ readConsole(Client cntxt)
                cntxt->fdin->len = len;
                free(buf);
                return 1;
-       } else {
-               cntxt->fdin->eof = 1;
+       }
+  bailout:
+       cntxt->fdin->eof = 1;
 #ifdef HAVE_LIBREADLINE
-               if( initReadline ){
-                       deinit_readline();
-                       initReadline= 0;
-               }
+       if( initReadline ){
+               deinit_readline();
+               initReadline= 0;
+       }
 #endif
-       }
        return -1;
 }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to