calls to abort() should be removed and checks for memory allocation failture to be added
icecast calls abort() 3 times. All 3 times are related to memory allocation. It is used to avoid the need to handle errors on memory allocation. In many other places memory allocation is not checked to be successful.
- all calls to abort() should be removed.
- all calls to malloc(), calloc() and realloc() should be checked handling errors correctly.
- There should be a policy on what happens on memory allocation failure (icecast dropping clients/resources OR dieing?)
- icecast should (at high/all cost) try to inform the user about this problem.
- memory failure can have many reasons. Not just the system being out of memory.