The following function is used to get some data from an external source (whatever is this source) and store them into the provided buffer.
int GetData(unsigned char* aBuffer);
Why is this function “dangerous”? How would you improve it so that it is not dangerous? (Hint: the question is not about the return value or the details of how the data is received).