enum { MAX_TABLE_SIZE = 256 };
int create_table(size_t size) {
size_t table_size;
char **table;
if (size == 0 || size > MAX_TABLE_SIZE) {
/* Handle invalid size */
}
/*
* The wrap check has been omitted based on the assumption that
* MAX_TABLE_SIZE * sizeof(char *) cannot exceed SIZE_MAX
* If this assumption is not valid, a check must be added
*/
assert(size <= SIZE_MAX/sizeof(char *));
table_size = size * sizeof(char *);
table = (char **)malloc(table_size);
if (table == NULL) {
/* Handle error condition */
}
/* ... */
return 0;
}
|