PIM MSDP function takes msdpPimMsg pointer as one of its parameters. It makes a check if this parameter is null, in which case it allocates memory and starts filling in (S, G) requests in the allocated memory. This condition occurs when the malloc function returned null while trying to allocate the memory indicating that the process has gone out of memory.
A possible remedy will be to use "show memory" and "show log" commands to monitor the memory statuses of different processes. Depending on the results of these commands, you can either change the system configuration or free up the system memory by ending processes which are currently not needed.
Critical
Out of Memory. Cannot malloc MSDP message