char *ct = NULL;
#ifdef HTTP_HAVE_MAGIC
- struct magic_set *magic;
+ struct magic_set *magic = NULL;
HTTP_CHECK_OPEN_BASEDIR(magicfile, return NULL);
- /* magic_load() fails if MAGIC_MIME is set because it
- cowardly adds .mime to the file name */
- magic = magic_open(magicmode &~ MAGIC_MIME);
-
- if (!magic) {
+ if (!data_ptr) {
+ http_error(HE_WARNING, HTTP_E_INVALID_PARAM, "Supplied payload is empty");
+ } else if (!(magic = magic_open(magicmode &~ MAGIC_MIME))) {
http_error_ex(HE_WARNING, HTTP_E_INVALID_PARAM, "Invalid magic mode: %ld", magicmode);
} else if (-1 == magic_load(magic, magicfile)) {
http_error_ex(HE_WARNING, HTTP_E_RUNTIME, "Failed to load magic database '%s' (%s)", magicfile, magic_error(magic));