From 17f12a717ffea58b430affff4951c6527189c990 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Fri, 12 Mar 2010 17:09:39 -0500 Subject: Check for strdup() failures. --- dimension/lexer.l | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'dimension/lexer.l') diff --git a/dimension/lexer.l b/dimension/lexer.l index 05c6711..5027d71 100644 --- a/dimension/lexer.l +++ b/dimension/lexer.l @@ -71,11 +71,14 @@ RETURN(); \ } while (0) -#define RETURN_VALUE_TOKEN(token_type) \ - do { \ - NEW_TOKEN(token_type); \ - lvalp->value = strdup(yytext); \ - RETURN(); \ +#define RETURN_VALUE_TOKEN(token_type) \ + do { \ + NEW_TOKEN(token_type); \ + lvalp->value = strdup(yytext); \ + if (!lvalp->value) \ + dmnsn_error(DMNSN_SEVERITY_HIGH, \ + "Couldn't allocate space for token value."); \ + RETURN(); \ } while (0) #define STRING_TOKEN() \ -- cgit v1.2.3