The underlying development is generally in C language, which involves the management of memory, the application and release of pointers. <?xml:namespace prefix = o/>
A double buffer queue was recently used, resulting in an exception when it was released. The allocation of memory uses the malloc, the corresponding release using free, feel no problem.
There are two reasons why I feel closest to finding the possible cause on the Internet:
<!--[if!supportlists]-->1. <!--[endif]--> application space is not equal to the space released
<!--[if!supportlists]-->2. <!--when [endif]--> is released, the pointer's address changes, resulting in the process of assigning values.
When I am applying for space, I record the value of the pointer address and then debug it and see if the address has changed when I release it. The result really is that the address has changed. It was me. In the process of assigning a string, you directly assign another pointer to the pointer, and later use the strcpy function to solve the problem.