Bug #112 ยป 0001-make-sure-we-have-input_len.patch
| src/app-layer-dcerpc-common.h | ||
|---|---|---|
|
* app-layer-dcerpc.h
|
||
|
*
|
||
|
* \author Kirby Kuehl <kkuehl@gmail.com>
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or
|
||
|
* modify it under the terms of the GNU General Public License
|
||
|
* as published by the Free Software Foundation; either version 2
|
||
|
* of the License, or (at your option) any later version.
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
* You should have received a copy of the GNU General Public License
|
||
|
* along with this program; if not, write to the Free Software
|
||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||
|
*/
|
||
|
#ifndef APPLAYERDCERPCCOMMON_H_
|
||
| src/app-layer-dcerpc.c | ||
|---|---|---|
|
* app-layer-dcerpc.c
|
||
|
*
|
||
|
* \author Kirby Kuehl <kkuehl@gmail.com>
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or
|
||
|
* modify it under the terms of the GNU General Public License
|
||
|
* as published by the Free Software Foundation; either version 2
|
||
|
* of the License, or (at your option) any later version.
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
* You should have received a copy of the GNU General Public License
|
||
|
* along with this program; if not, write to the Free Software
|
||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||
|
*/
|
||
|
#include "suricata-common.h"
|
||
|
#include "suricata.h"
|
||
| ... | ... | |
|
}
|
||
|
while (dcerpc->bytesprocessed < DCERPC_HDR_LEN + 10
|
||
|
+ dcerpc->dcerpcbindbindack.secondaryaddrlen && input_len
|
||
|
&& dcerpc->bytesprocessed < dcerpc->dcerpchdr.frag_length) {
|
||
|
+ dcerpc->dcerpcbindbindack.secondaryaddrlen
|
||
|
&& dcerpc->bytesprocessed < dcerpc->dcerpchdr.frag_length && input_len) {
|
||
|
retval = DCERPCParseSecondaryAddr(dcerpc, input + parsed, input_len);
|
||
|
if (retval) {
|
||
|
parsed += retval;
|
||
| ... | ... | |
|
}
|
||
|
while (dcerpc->bytesprocessed < DCERPC_HDR_LEN + 10
|
||
|
+ dcerpc->dcerpcbindbindack.secondaryaddrlen + dcerpc->pad && input_len
|
||
|
&& dcerpc->bytesprocessed < dcerpc->dcerpchdr.frag_length) {
|
||
|
+ dcerpc->dcerpcbindbindack.secondaryaddrlen + dcerpc->pad
|
||
|
&& dcerpc->bytesprocessed < dcerpc->dcerpchdr.frag_length && input_len) {
|
||
|
retval = PaddingParser(dcerpc, input + parsed, input_len);
|
||
|
if (retval) {
|
||
|
parsed += retval;
|
||
| ... | ... | |
|
while (dcerpc->bytesprocessed >= DCERPC_HDR_LEN + 10 + dcerpc->pad
|
||
|
+ dcerpc->dcerpcbindbindack.secondaryaddrlen && dcerpc->bytesprocessed
|
||
|
< DCERPC_HDR_LEN + 14 + dcerpc->pad + dcerpc->dcerpcbindbindack.secondaryaddrlen
|
||
|
&& dcerpc->bytesprocessed < dcerpc->dcerpchdr.frag_length) {
|
||
|
&& dcerpc->bytesprocessed < dcerpc->dcerpchdr.frag_length && input_len) {
|
||
|
retval = DCERPCGetCTXItems(dcerpc, input + parsed, input_len);
|
||
|
if (retval) {
|
||
|
parsed += retval;
|
||
| ... | ... | |
|
dcerpc->dcerpcbindbindack.ctxbytesprocessed = 0;
|
||
|
}
|
||
|
while (dcerpc->dcerpcbindbindack.numctxitemsleft && input_len && dcerpc->bytesprocessed
|
||
|
< dcerpc->dcerpchdr.frag_length) {
|
||
|
while (dcerpc->dcerpcbindbindack.numctxitemsleft && dcerpc->bytesprocessed
|
||
|
< dcerpc->dcerpchdr.frag_length && input_len) {
|
||
|
retval = DCERPCParseBINDACKCTXItem(dcerpc, input + parsed, input_len);
|
||
|
if (retval) {
|
||
|
if (dcerpc->dcerpcbindbindack.ctxbytesprocessed == 24) {
|
||
| ... | ... | |
|
}
|
||
|
while (dcerpc->bytesprocessed >= DCERPC_HDR_LEN + 8
|
||
|
&& dcerpc->bytesprocessed < dcerpc->dcerpchdr.frag_length
|
||
|
&& input_len && dcerpc->padleft) {
|
||
|
&& dcerpc->padleft && input_len) {
|
||
|
retval = StubDataParser(dcerpc, input + parsed, input_len);
|
||
|
if (retval) {
|
||
|
parsed += retval;
|
||
| src/app-layer-dcerpc.h | ||
|---|---|---|
|
* app-layer-dcerpc.h
|
||
|
*
|
||
|
* \author Kirby Kuehl <kkuehl@gmail.com>
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or
|
||
|
* modify it under the terms of the GNU General Public License
|
||
|
* as published by the Free Software Foundation; either version 2
|
||
|
* of the License, or (at your option) any later version.
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
* You should have received a copy of the GNU General Public License
|
||
|
* along with this program; if not, write to the Free Software
|
||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||
|
*/
|
||
|
#ifndef APPLAYERDCERPC_H_
|
||
| src/app-layer-nbss.h | ||
|---|---|---|
|
* app-layer-nbss.h
|
||
|
*
|
||
|
* \author Kirby Kuehl <kkuehl@gmail.com>
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or
|
||
|
* modify it under the terms of the GNU General Public License
|
||
|
* as published by the Free Software Foundation; either version 2
|
||
|
* of the License, or (at your option) any later version.
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
* You should have received a copy of the GNU General Public License
|
||
|
* along with this program; if not, write to the Free Software
|
||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||
|
*/
|
||
|
#ifndef APPLAYERNBSS_H_
|
||
| src/app-layer-smb.c | ||
|---|---|---|
|
* app-layer-smb.c
|
||
|
*
|
||
|
* \author Kirby Kuehl <kkuehl@gmail.com>
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or
|
||
|
* modify it under the terms of the GNU General Public License
|
||
|
* as published by the Free Software Foundation; either version 2
|
||
|
* of the License, or (at your option) any later version.
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
* You should have received a copy of the GNU General Public License
|
||
|
* along with this program; if not, write to the Free Software
|
||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||
|
*/
|
||
|
#include "suricata-common.h"
|
||
| src/app-layer-smb.h | ||
|---|---|---|
|
* app-layer-smb.h
|
||
|
*
|
||
|
* \author Kirby Kuehl <kkuehl@gmail.com>
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or
|
||
|
* modify it under the terms of the GNU General Public License
|
||
|
* as published by the Free Software Foundation; either version 2
|
||
|
* of the License, or (at your option) any later version.
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
* You should have received a copy of the GNU General Public License
|
||
|
* along with this program; if not, write to the Free Software
|
||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||
|
*/
|
||
|
#ifndef APPLAYERSMB_H_
|
||
| src/app-layer-smb2.c | ||
|---|---|---|
|
* app-layer-smb.c
|
||
|
*
|
||
|
* \author Kirby Kuehl <kkuehl@gmail.com>
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or
|
||
|
* modify it under the terms of the GNU General Public License
|
||
|
* as published by the Free Software Foundation; either version 2
|
||
|
* of the License, or (at your option) any later version.
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
* You should have received a copy of the GNU General Public License
|
||
|
* along with this program; if not, write to the Free Software
|
||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||
|
*/
|
||
|
#include "suricata-common.h"
|
||
| src/app-layer-smb2.h | ||
|---|---|---|
|
* app-layer-smb2.h
|
||
|
*
|
||
|
* \author Kirby Kuehl <kkuehl@gmail.com>
|
||
|
*
|
||
|
* This program is free software; you can redistribute it and/or
|
||
|
* modify it under the terms of the GNU General Public License
|
||
|
* as published by the Free Software Foundation; either version 2
|
||
|
* of the License, or (at your option) any later version.
|
||
|
* This program is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
* GNU General Public License for more details.
|
||
|
* You should have received a copy of the GNU General Public License
|
||
|
* along with this program; if not, write to the Free Software
|
||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||
|
*/
|
||
|
#ifndef APPLAYERSMB2_H_
|
||