|
|
|
@ -1067,8 +1067,7 @@ static AppLayerResult FTPDataParse(Flow *f, FtpDataState *ftpdata_state,
|
|
|
|
|
} else {
|
|
|
|
|
if (ftpdata_state->state == FTPDATA_STATE_FINISHED) {
|
|
|
|
|
SCLogDebug("state is already finished");
|
|
|
|
|
// TODO put back the assert after deciding on the bug...
|
|
|
|
|
// DEBUG_VALIDATE_BUG_ON(input_len); // data after state finished is a bug.
|
|
|
|
|
DEBUG_VALIDATE_BUG_ON(input_len); // data after state finished is a bug.
|
|
|
|
|
SCReturnStruct(APP_LAYER_OK);
|
|
|
|
|
}
|
|
|
|
|
if ((direction & ftpdata_state->direction) == 0) {
|
|
|
|
@ -1099,7 +1098,7 @@ static AppLayerResult FTPDataParse(Flow *f, FtpDataState *ftpdata_state,
|
|
|
|
|
if (eof) {
|
|
|
|
|
ret = FileCloseFile(ftpdata_state->files, &sbcfg, NULL, 0, flags);
|
|
|
|
|
ftpdata_state->state = FTPDATA_STATE_FINISHED;
|
|
|
|
|
SCLogDebug("closed because of eof");
|
|
|
|
|
SCLogDebug("closed because of eof: state now FTPDATA_STATE_FINISHED");
|
|
|
|
|
}
|
|
|
|
|
out:
|
|
|
|
|
if (ret < 0) {
|
|
|
|
|