mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
5.6.26
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -33,6 +33,23 @@ void pfs_free(void *ptr)
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
void *pfs_malloc_array(size_t n, size_t size, myf flags)
|
||||
{
|
||||
size_t array_size= n * size;
|
||||
/* Check for overflow before allocating. */
|
||||
if (is_overflow(array_size, n, size))
|
||||
return NULL;
|
||||
return pfs_malloc(array_size, flags);
|
||||
}
|
||||
|
||||
bool is_overflow(size_t product, size_t n1, size_t n2)
|
||||
{
|
||||
if (n1 != 0 && (product / n1 != n2))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
void pfs_print_error(const char *format, ...)
|
||||
{
|
||||
/* Do not pollute the unit test output with annoying messages. */
|
||||
|
Reference in New Issue
Block a user