|
|
|
|
|
by sebcat
2853 days ago
|
|
> But having to explicitly specify both destination and source sizes might prevented a lot of buffer overwrite bugs. A good way to prevent this is to have a buffer abstraction, where the size is a property of the type, e.g., typedef struct {
size_t bytes_used;
size_t capacity;
void *data;
} buf_t;
int buf_init(buf_t *buf);
void buf_cleanup(buf_t *buf);
void buf_copy(buf_t *dst, buf_t *src);
/* ... */
Of course, it doesn't prevent people from using memcpy directly. |
|