...
Code Block | ||
---|---|---|
| ||
int create_table(size_t size) {
char **table;
if (sizeof(char *) > SIZE_MAX/size) {
/* handle overflow */
}
size_t table_size = size * sizeof(char *);
table = malloc(table_size)
if (table == NULL) {
/* Handle error condition */
}
/* ... */
return 0;
}
|
...
Code Block | ||
---|---|---|
| ||
enum { MAX_TABLE_SIZE = 256 }; int create_table(size_t size) { char **table; if (sizeof(char *) > SIZE_MAX/size) { /* handle overflow */ } size_t table_size = size * sizeof(char *); if (size == 0 || size > MAX_TABLE_SIZE) { /* Handle invalid size */ } table = malloc(table_size); if (table == NULL) { /* Handle error condition */ } /* ... */ return 0; } |
...