From 1cfaf8227076af1f91feb441358996d88b6aa3fd Mon Sep 17 00:00:00 2001 From: Pavel Pisa Date: Sat, 17 Oct 2015 18:45:31 +0200 Subject: [PATCH 1/1] uLUt: ul_dbuff_cat do at least partial copy if a space for all data cannot be allocated. Signed-off-by: Pavel Pisa --- ulut/ul_dbufmore.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ulut/ul_dbufmore.c b/ulut/ul_dbufmore.c index cc220a3..cf7afab 100644 --- a/ulut/ul_dbufmore.c +++ b/ulut/ul_dbufmore.c @@ -172,6 +172,8 @@ int ul_dbuff_cat(ul_dbuff_t *buf, const void *b, int n) if(new_len == ul_dbuff_set_len(buf, new_len)) { memcpy(buf->data + old_len, b, n); } else { + if (old_len < buf->len) + memcpy(buf->data + old_len, b, buf->len - old_len); #ifdef UL_DBUFF_LOGGING ul_logdeb("ul_dbuff_cat: set_len(%lu) error, old_len == %lu\n, act len == %lu\n", new_len, old_len, buf->len); #endif -- 2.39.2