mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-22 09:17:58 +00:00
hv: fix 'Recursion in procedure calls found'
Here is how the recursion might happen: when there is something wrong | sbuf_put -> memcpy_s -> pr_err -> do_logmsg | | ----------------------------------- Replace 'pr_err' with 'ASSERT' in 'memcpy_s' to break this kind of recursion. Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
This commit is contained in:
@@ -344,14 +344,12 @@ void *memcpy_s(void *d, size_t dmax, const void *s, size_t slen)
|
||||
uint8_t *src8;
|
||||
|
||||
if (slen == 0U || dmax == 0U || dmax < slen) {
|
||||
pr_err("%s: invalid src, dest buffer or length.", __func__);
|
||||
return NULL;
|
||||
ASSERT(false);
|
||||
}
|
||||
|
||||
if ((d > s && d <= s + slen - 1)
|
||||
|| (d < s && s <= d + dmax - 1)) {
|
||||
pr_err("%s: overlap happened.", __func__);
|
||||
return NULL;
|
||||
ASSERT(false);
|
||||
}
|
||||
|
||||
/*same memory block, no need to copy*/
|
||||
|
Reference in New Issue
Block a user