From 13a0ea225fb89fe1928303faf9fa23afe355ab97 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Fri, 12 Mar 2010 17:17:06 -0500 Subject: Check for malloc() failures. --- dimension/lexer.l | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'dimension/lexer.l') diff --git a/dimension/lexer.l b/dimension/lexer.l index 5027d71..4beeee7 100644 --- a/dimension/lexer.l +++ b/dimension/lexer.l @@ -81,12 +81,15 @@ RETURN(); \ } while (0) -#define STRING_TOKEN() \ - do { \ - NEW_TOKEN(DMNSN_T_STRING); \ - lvalp->value = malloc(string_extent); \ - lvalp->value[0] = '\0'; \ - CALCULATE_COLUMN(); \ +#define STRING_TOKEN() \ + do { \ + NEW_TOKEN(DMNSN_T_STRING); \ + lvalp->value = malloc(string_extent); \ + if (!lvalp->value) \ + dmnsn_error(DMNSN_SEVERITY_HIGH, \ + "Couldn't allocate space for token value."); \ + lvalp->value[0] = '\0'; \ + CALCULATE_COLUMN(); \ } while (0) #define STRCAT(str, len) \ -- cgit v1.2.3