Hi, I just have one quick question.
I am doing something like this:

char *buf = malloc(10);
int file_descriptor = ... // just some file descriptor to read from

read(file_descriptor, buf, 9);

buf += 5;

...

free(buf);

Now the question is, when I call free(buf), does it free up all 10 bytes of memory that were allocated? Or only the 5 bytes following the current address that buf is pointing to?

Thanks.