diff c/regexParser/createRegexParser.cc @ 108:70069d4647a0 impl-bitvector

implement malloc error checking
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Thu, 19 Nov 2015 17:48:36 +0900
parents 3eb3cb5d581f
children ec485345daf9
line wrap: on
line diff
--- a/c/regexParser/createRegexParser.cc	Thu Nov 19 17:23:06 2015 +0900
+++ b/c/regexParser/createRegexParser.cc	Thu Nov 19 17:48:36 2015 +0900
@@ -17,6 +17,11 @@
  */
 NodePtr createNode(RegexInfoPtr ri,unsigned char character, NodePtr left, NodePtr right) {
     NodePtr n = (NodePtr)malloc(sizeof(Node));
+    if (n == NULL) {
+        fprintf(stderr, "Failed to allocate memory.\n");
+        exit(-1);
+    }
+
     n->tokenType = ri->tokenType;
     n->self = n;
     n->Value.character = character;
@@ -41,6 +46,10 @@
 // <charClass> ::= '['<literal>'-'<literal>']'
 NodePtr charClass(RegexInfoPtr ri) {
     NodePtr n = (NodePtr)malloc(sizeof(Node));
+    if (n == NULL) {
+        fprintf(stderr, "Failed to allocate memory.\n");
+        exit(-1);
+    }
     while (ri->ptr[0] == '-') {
         ri->ptr++;
     }