summaryrefslogtreecommitdiff
path: root/ext/psych/yaml/yaml_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/psych/yaml/yaml_private.h')
-rw-r--r--ext/psych/yaml/yaml_private.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/ext/psych/yaml/yaml_private.h b/ext/psych/yaml/yaml_private.h
index cd3d3a56c4..944499c94e 100644
--- a/ext/psych/yaml/yaml_private.h
+++ b/ext/psych/yaml/yaml_private.h
@@ -146,9 +146,12 @@ yaml_string_join(
(string).start = (string).pointer = (string).end = 0)
#define STRING_EXTEND(context,string) \
- (((string).pointer+5 < (string).end) \
+ ((((string).pointer+5 < (string).end) \
|| yaml_string_extend(&(string).start, \
- &(string).pointer, &(string).end))
+ &(string).pointer, &(string).end)) ? \
+ 1 : \
+ ((context)->error = YAML_MEMORY_ERROR, \
+ 0))
#define CLEAR(context,string) \
((string).pointer = (string).start, \