Index: src/streamanalyzer/bmpendanalyzer.cpp =================================================================== --- src/streamanalyzer/bmpendanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/bmpendanalyzer.cpp (Arbeitskopie) @@ -52,6 +52,9 @@ } char BmpEndAnalyzer::analyze(AnalysisResult& idx, InputStream* in) { + if(!in) + return -1; + // read BMP file type and ensure it is not damaged const char * bmptype_bm = "BM"; const char * bmptype_ba = "BA"; Index: src/streamanalyzer/mailendanalyzer.cpp =================================================================== --- src/streamanalyzer/mailendanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/mailendanalyzer.cpp (Arbeitskopie) @@ -43,6 +43,9 @@ } char MailEndAnalyzer::analyze(AnalysisResult& idx, InputStream* in) { + if(!in) + return -1; + MailInputStream mail(in); InputStream *s = mail.nextEntry(); if (mail.getStatus() == Error) { Index: src/streamanalyzer/tarendanalyzer.cpp =================================================================== --- src/streamanalyzer/tarendanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/tarendanalyzer.cpp (Arbeitskopie) @@ -40,6 +40,9 @@ char TarEndAnalyzer::staticAnalyze(AnalysisResult& idx, InputStream* in) { + if(!in) + return -1; + TarInputStream tar(in); InputStream *s = tar.nextEntry(); while (s) { Index: src/streamanalyzer/cpioendanalyzer.cpp =================================================================== --- src/streamanalyzer/cpioendanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/cpioendanalyzer.cpp (Arbeitskopie) @@ -35,6 +35,9 @@ } char CpioEndAnalyzer::analyze(AnalysisResult& idx, InputStream* in) { + if(!in) + return -1; + CpioInputStream cpio(in); InputStream *s = cpio.nextEntry(); if (cpio.getStatus()) { Index: src/streamanalyzer/bz2endanalyzer.cpp =================================================================== --- src/streamanalyzer/bz2endanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/bz2endanalyzer.cpp (Arbeitskopie) @@ -40,6 +40,9 @@ } char Bz2EndAnalyzer::analyze(AnalysisResult& idx, InputStream* in) { + if(!in) + return -1; + BZ2InputStream stream(in); /* char r = testStream(&stream); if (r) { Index: src/streamanalyzer/arendanalyzer.cpp =================================================================== --- src/streamanalyzer/arendanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/arendanalyzer.cpp (Arbeitskopie) @@ -40,6 +40,9 @@ char ArEndAnalyzer::staticAnalyze(AnalysisResult& idx, InputStream* in) { + if(!in) + return -1; + ArInputStream ar(in); InputStream *s = ar.nextEntry(); while (s) { Index: src/streamanalyzer/zipendanalyzer.cpp =================================================================== --- src/streamanalyzer/zipendanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/zipendanalyzer.cpp (Arbeitskopie) @@ -35,6 +35,9 @@ } char ZipEndAnalyzer::analyze(AnalysisResult& idx, InputStream* in) { + if(!in) + return -1; + ZipInputStream zip(in); InputStream *s = zip.nextEntry(); if (zip.getStatus()) { Index: src/streamanalyzer/helperendanalyzer.cpp =================================================================== --- src/streamanalyzer/helperendanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/helperendanalyzer.cpp (Arbeitskopie) @@ -146,6 +146,9 @@ } char HelperEndAnalyzer::analyze(AnalysisResult& idx, InputStream* in){ + if(!in) + return -1; + char state = -1; const char* b; int32_t nread = in->read(b, 1024, 0); Index: src/streamanalyzer/ifilterendanalyzer.cpp =================================================================== --- src/streamanalyzer/ifilterendanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/ifilterendanalyzer.cpp (Arbeitskopie) @@ -95,6 +95,9 @@ } char IFilterEndAnalyzer::analyze(AnalysisResult& idx, InputStream *in) { + if(!in) + return -1; + const string& filename = idx.getFileName(); int p = filename.find_last_of('.'); if ( p < 0 || extensions.find(filename.substr(p)) == extensions.end() ){ Index: src/streamanalyzer/id3v2throughanalyzer.cpp =================================================================== --- src/streamanalyzer/id3v2throughanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/id3v2throughanalyzer.cpp (Arbeitskopie) @@ -58,6 +58,9 @@ } jstreams::InputStream* ID3V2ThroughAnalyzer::connectInputStream(InputStream* in) { + if(!in) + return in; + // read 10 byte header const char* buf; int32_t nread = in->read(buf, 10, 10); Index: src/streamanalyzer/throughplugins/mimetypethroughanalyzer.cpp =================================================================== --- src/streamanalyzer/throughplugins/mimetypethroughanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/throughplugins/mimetypethroughanalyzer.cpp (Arbeitskopie) @@ -37,6 +37,9 @@ } ::InputStream * MimeTypeThroughAnalyzer::connectInputStream(::InputStream *in) { + if(!in) + return -1; + // determine the mimetype const char* mime; int64_t pos = in->getPosition(); Index: src/streamanalyzer/gzipendanalyzer.cpp =================================================================== --- src/streamanalyzer/gzipendanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/gzipendanalyzer.cpp (Arbeitskopie) @@ -39,6 +39,9 @@ } char GZipEndAnalyzer::analyze(AnalysisResult& idx, InputStream* in) { + if(!in) + return -1; + GZipInputStream stream(in); // since this is gzip file, its likely that it contains a tar file const char* start; Index: src/streamanalyzer/oggthroughanalyzer.cpp =================================================================== --- src/streamanalyzer/oggthroughanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/oggthroughanalyzer.cpp (Arbeitskopie) @@ -44,6 +44,9 @@ } InputStream* OggThroughAnalyzer::connectInputStream(InputStream* in) { + if(!in) + return in; + const char* buf; // read 1024 initially int32_t nreq = 1024; Index: src/streamanalyzer/digestthroughanalyzer.cpp =================================================================== --- src/streamanalyzer/digestthroughanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/digestthroughanalyzer.cpp (Arbeitskopie) @@ -41,6 +41,9 @@ } InputStream * DigestThroughAnalyzer::connectInputStream(InputStream *in) { + if(!in) + return in; + if (stream) { delete stream; } Index: src/streamanalyzer/pngendanalyzer.cpp =================================================================== --- src/streamanalyzer/pngendanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/pngendanalyzer.cpp (Arbeitskopie) @@ -44,6 +44,9 @@ } char PngEndAnalyzer::analyze(AnalysisResult& idx, InputStream* in) { + if(!in) + return -1; + const char* h; int32_t n = in->read(h, 24, 24); in->reset(0); Index: src/streamanalyzer/textendanalyzer.cpp =================================================================== --- src/streamanalyzer/textendanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/textendanalyzer.cpp (Arbeitskopie) @@ -60,6 +60,9 @@ char TextEndAnalyzer::analyze(AnalysisResult& idx, InputStream* in) { + if(!in) + return -1; + if (idx.encoding().length()) { // fprintf(stderr, "%s\n", idx.encoding().c_str()); } Index: src/streamanalyzer/expatsaxendanalyzer.cpp =================================================================== --- src/streamanalyzer/expatsaxendanalyzer.cpp (Revision 642694) +++ src/streamanalyzer/expatsaxendanalyzer.cpp (Arbeitskopie) @@ -158,6 +158,9 @@ } char SaxEndAnalyzer::analyze(AnalysisResult& idx, InputStream* in) { + if(!in) + return -1; + const char* b; int32_t nread = in->read(b, 4, 0); if (nread >= 4) { Index: kfile-plugins/dvi/dvithroughanalyzer.cpp =================================================================== --- kfile-plugins/dvi/dvithroughanalyzer.cpp (Revision 643838) +++ kfile-plugins/dvi/dvithroughanalyzer.cpp (Arbeitskopie) @@ -101,6 +101,9 @@ InputStream* DviThroughAnalyzer::connectInputStream(InputStream* in) { + if(!in) + return in; + // read the header const char* c; int32_t nread = in->read(c, 270, 270);