From c07bb95a832d041b8a61b48037a4e7a987314aca Mon Sep 17 00:00:00 2001 From: Phil Turnbull Date: Thu, 6 Jul 2017 10:59:09 -0400 Subject: Use unsigned integer when shifting A UBSAN warning can be triggered when handling a long sequence of backticks: src/commonmark.c:98:20: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' which can be triggered by: ``` | a | b | | --- | --** `c```````````````````````````````- | | c | `|d` \| e | ``` --- src/commonmark.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/commonmark.c') diff --git a/src/commonmark.c b/src/commonmark.c index a9ba566..95a1ae5 100644 --- a/src/commonmark.c +++ b/src/commonmark.c @@ -93,7 +93,7 @@ static int shortest_unused_backtick_sequence(const char *code) { current++; } else { if (current > 0 && current < 32) { - used |= (1 << current); + used |= (1U << current); } current = 0; } -- cgit v1.2.3