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).