]> granicus.if.org Git - onig/commitdiff
regexec: return error if xmalloc failed
authorRuslan Kuprieiev <kupruser@gmail.com>
Thu, 15 Jun 2017 20:20:53 +0000 (23:20 +0300)
committerRuslan Kuprieiev <kupruser@gmail.com>
Sat, 24 Jun 2017 01:54:54 +0000 (04:54 +0300)
"Unchecked return value of 'xmalloc' in 'STACK_SAVE' macro
may result in undefined behaviour when its result is passed
to xmemcpy."

Id: 12

Signed-off-by: Ruslan Kuprieiev <kupruser@gmail.com>
src/regexec.c

index ae39e25807259d6873368e75af130caebfd10af2..af6358087ab0ed1e679c6c3de5157ff403e1b3fd 100644 (file)
@@ -428,6 +428,7 @@ onig_region_copy(OnigRegion* to, OnigRegion* from)
     size_t size = sizeof(OnigStackIndex) * msa->ptr_num \
                 + sizeof(OnigStackType) * msa->stack_n;\
     msa->stack_p = xmalloc(size);\
+    CHECK_NULL_RETURN_MEMERR(msa->stack_p);\
     xmemcpy(msa->stack_p, alloc_base, size);\
   }\
   else {\