haiwen/seafile — pull request #517 by mlq (2014-01-16 13:37:47+00:00)
Title: Resolve realloc mistake and possible NP dereferences in lib/utils.c

This patches resolves the following issues in lib/utils/strsplit_by_space and in
lib/utils/strsplit_by_char:

* Check if the pointer to the passed length parameter is valid
otherwise it will cause a NULL pointer dereference

* If the allocation done by realloc fails the current code would
overwrite the pointer to the previously allocated memory with NULL, thus it is
not reachable anymore. Therefore we need to store the return value of realloc
in a temporary variable and then check it if the realloc call has succeeded or
not. On failure we free the previously allocated memory and return an error.