summaryrefslogtreecommitdiff
path: root/innobase/mem
diff options
context:
space:
mode:
authorunknown <osku@127.(none)>2005-09-29 13:02:18 +0300
committerunknown <osku@127.(none)>2005-09-29 13:02:18 +0300
commitb2d8eb02a7ee3fd6204ddbb037321b76f36db24e (patch)
treea9705f364c5027166020d94dd5da2f9092fb04a8 /innobase/mem
parenta5dd3d5d8f8e67cb74403f8265b9c61daf9d5ccd (diff)
downloadmariadb-git-b2d8eb02a7ee3fd6204ddbb037321b76f36db24e.tar.gz
InnoDB: Fix potential buffer underflow.
innobase/include/ut0mem.h: Add ut_strlcpy_rev. innobase/mem/mem0mem.c: Use ut_strlcpy_rev instead of buggy own implementation. innobase/ut/ut0mem.c: Add ut_strlcpy_rev.
Diffstat (limited to 'innobase/mem')
-rw-r--r--innobase/mem/mem0mem.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/innobase/mem/mem0mem.c b/innobase/mem/mem0mem.c
index 85f0119d02a..daf78008d45 100644
--- a/innobase/mem/mem0mem.c
+++ b/innobase/mem/mem0mem.c
@@ -187,9 +187,7 @@ mem_heap_create_block(
}
block->magic_n = MEM_BLOCK_MAGIC_N;
- ut_memcpy(&(block->file_name), file_name + ut_strlen(file_name) - 7,
- 7);
- block->file_name[7]='\0';
+ ut_strlcpy_rev(block->file_name, file_name, sizeof(block->file_name));
block->line = line;
#ifdef MEM_PERIODIC_CHECK