X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/146835943204559707b5461859837cb51fd3485a..29ff4f879ba9eea142df4e8caf436d0dd933218c:/sbr/mime_type.c diff --git a/sbr/mime_type.c b/sbr/mime_type.c index be791096..23ccf038 100644 --- a/sbr/mime_type.c +++ b/sbr/mime_type.c @@ -37,14 +37,15 @@ mime_type(const char *file_name) { if ((mimeencoding = get_file_info(MIMEENCODINGPROC, file_name))) { content_type = concat(mimetype, "; charset=", mimeencoding, NULL); + free (mimetype); } else { - content_type = strdup(mimetype); + content_type = mimetype; } } else { - content_type = strdup(mimetype); + content_type = mimetype; } #else /* MIMEENCODINGPROC */ - content_type = strdup(mimetype); + content_type = mimetype; #endif /* MIMEENCODINGPROC */ } #endif /* MIMETYPEPROC */ @@ -91,7 +92,7 @@ mime_type(const char *file_name) { } while ((c = getc(fp)) != EOF) { - if (! isascii(c)) { + if (! isascii(c) || c == 0) { binary = 1; break; } @@ -128,7 +129,6 @@ get_file_info(const char *proc, const char *file_name) { } } - cmd = concat(proc, " ", quotec, file_name, quotec, NULL); if ((cmd = concat(proc, " ", quotec, file_name, quotec, NULL))) { FILE *fp;