static int DecodeMPLSTestHeaderTooSmall(void)
{
- int ret = 1;
-
/* A packet that is too small to have a complete MPLS header. */
uint8_t pkt[] = {
0x00, 0x00, 0x11
};
Packet *p = PacketGetFromAlloc();
- if (unlikely(p == NULL)) {
- return 0;
- }
+ FAIL_IF_NULL(p);
ThreadVars tv;
DecodeThreadVars dtv;
-
memset(&dtv, 0, sizeof(DecodeThreadVars));
memset(&tv, 0, sizeof(ThreadVars));
DecodeMPLS(&tv, &dtv, p, pkt, sizeof(pkt));
+ FAIL_IF(!ENGINE_ISSET_EVENT(p, MPLS_HEADER_TOO_SMALL));
- if (!ENGINE_ISSET_EVENT(p, MPLS_HEADER_TOO_SMALL)) {
- ret = 0;
- }
-
- SCFree(p);
- return ret;
+ PacketFree(p);
+ PASS;
}
static int DecodeMPLSTestPacketTooSmall(void)
{
ThreadVars tv;
DecodeThreadVars dtv;
-
memset(&dtv, 0, sizeof(DecodeThreadVars));
memset(&tv, 0, sizeof(ThreadVars));
- Packet *p0 = SCCalloc(1, SIZE_OF_PACKET);
- memset(p0, 0, SIZE_OF_PACKET);
+ Packet *p = PacketGetFromAlloc();
+ FAIL_IF_NULL(p);
uint8_t pkt0[] = { 0x00, 0x01, 0x51, 0xff };
- DecodeMPLS(&tv, &dtv, p0, pkt0, sizeof(pkt0));
- FAIL_IF_NOT(ENGINE_ISSET_EVENT(p0, MPLS_PKT_TOO_SMALL));
- SCFree(p0);
+ DecodeMPLS(&tv, &dtv, p, pkt0, sizeof(pkt0));
+ FAIL_IF_NOT(ENGINE_ISSET_EVENT(p, MPLS_PKT_TOO_SMALL));
+ PacketFree(p);
- Packet *p1 = SCCalloc(1, SIZE_OF_PACKET);
- FAIL_IF_NULL(p1);
+ p = PacketGetFromAlloc();
+ FAIL_IF_NULL(p);
uint8_t pkt1[] = { 0x00, 0x01, 0x51, 0xff, 0x45 };
- DecodeMPLS(&tv, &dtv, p1, pkt1, sizeof(pkt1));
- FAIL_IF_NOT(ENGINE_ISSET_EVENT(p1, MPLS_PKT_TOO_SMALL));
- SCFree(p1);
+ DecodeMPLS(&tv, &dtv, p, pkt1, sizeof(pkt1));
+ FAIL_IF_NOT(ENGINE_ISSET_EVENT(p, MPLS_PKT_TOO_SMALL));
+ PacketFree(p);
- Packet *p2 = SCCalloc(1, SIZE_OF_PACKET);
- FAIL_IF_NULL(p2);
+ p = PacketGetFromAlloc();
+ FAIL_IF_NULL(p);
uint8_t pkt2[] = { 0x00, 0x01, 0x51, 0xff, 0x45, 0x01 };
- DecodeMPLS(&tv, &dtv, p2, pkt2, sizeof(pkt2));
- FAIL_IF_NOT(ENGINE_ISSET_EVENT(p2, MPLS_PKT_TOO_SMALL));
- SCFree(p2);
+ DecodeMPLS(&tv, &dtv, p, pkt2, sizeof(pkt2));
+ FAIL_IF_NOT(ENGINE_ISSET_EVENT(p, MPLS_PKT_TOO_SMALL));
+ PacketFree(p);
- Packet *p3 = SCCalloc(1, SIZE_OF_PACKET);
- FAIL_IF_NULL(p3);
+ p = PacketGetFromAlloc();
+ FAIL_IF_NULL(p);
uint8_t pkt3[] = { 0x00, 0x01, 0x51, 0xff, 0x45, 0x01, 0x02 };
- DecodeMPLS(&tv, &dtv, p3, pkt3, sizeof(pkt3));
- FAIL_IF_NOT(ENGINE_ISSET_EVENT(p3, MPLS_PKT_TOO_SMALL));
- SCFree(p3);
+ DecodeMPLS(&tv, &dtv, p, pkt3, sizeof(pkt3));
+ FAIL_IF_NOT(ENGINE_ISSET_EVENT(p, MPLS_PKT_TOO_SMALL));
+ PacketFree(p);
// This should not create a too small event is it has one more byte
// than required.
- Packet *p4 = SCCalloc(1, SIZE_OF_PACKET);
- FAIL_IF_NULL(p4);
+ p = PacketGetFromAlloc();
+ FAIL_IF_NULL(p);
uint8_t pkt4[] = { 0x00, 0x01, 0x51, 0xff, 0x45, 0x01, 0x02, 0x03 };
- DecodeMPLS(&tv, &dtv, p4, pkt4, sizeof(pkt4));
- FAIL_IF(ENGINE_ISSET_EVENT(p4, MPLS_PKT_TOO_SMALL));
- SCFree(p4);
+ DecodeMPLS(&tv, &dtv, p, pkt4, sizeof(pkt4));
+ FAIL_IF(ENGINE_ISSET_EVENT(p, MPLS_PKT_TOO_SMALL));
+ PacketFree(p);
PASS;
}
static int DecodeMPLSTestBadLabelRouterAlert(void)
{
- int ret = 1;
uint8_t pkt[] = {
0x00, 0x00, 0x11, 0xff, 0x45, 0x00, 0x00, 0x64,
0x00, 0x0a, 0x00, 0x00, 0xff, 0x01, 0xa5, 0x6a,
};
Packet *p = PacketGetFromAlloc();
- if (unlikely(p == NULL)) {
- return 0;
- }
+ FAIL_IF_NULL(p);
ThreadVars tv;
DecodeThreadVars dtv;
memset(&tv, 0, sizeof(ThreadVars));
DecodeMPLS(&tv, &dtv, p, pkt, sizeof(pkt));
+ FAIL_IF(!ENGINE_ISSET_EVENT(p, MPLS_BAD_LABEL_ROUTER_ALERT));
- if (!ENGINE_ISSET_EVENT(p, MPLS_BAD_LABEL_ROUTER_ALERT)) {
- ret = 0;
- }
-
- SCFree(p);
- return ret;
+ PacketFree(p);
+ PASS;
}
static int DecodeMPLSTestBadLabelImplicitNull(void)
{
- int ret = 1;
uint8_t pkt[] = {
0x00, 0x00, 0x31, 0xff, 0x45, 0x00, 0x00, 0x64,
0x00, 0x0a, 0x00, 0x00, 0xff, 0x01, 0xa5, 0x6a,
};
Packet *p = PacketGetFromAlloc();
- if (unlikely(p == NULL)) {
- return 0;
- }
+ FAIL_IF_NULL(p);
ThreadVars tv;
DecodeThreadVars dtv;
-
memset(&dtv, 0, sizeof(DecodeThreadVars));
memset(&tv, 0, sizeof(ThreadVars));
DecodeMPLS(&tv, &dtv, p, pkt, sizeof(pkt));
+ FAIL_IF(!ENGINE_ISSET_EVENT(p, MPLS_BAD_LABEL_IMPLICIT_NULL));
- if (!ENGINE_ISSET_EVENT(p, MPLS_BAD_LABEL_IMPLICIT_NULL)) {
- ret = 0;
- }
-
- SCFree(p);
- return ret;
+ PacketFree(p);
+ PASS;
}
static int DecodeMPLSTestBadLabelReserved(void)
{
- int ret = 1;
uint8_t pkt[] = {
0x00, 0x00, 0x51, 0xff, 0x45, 0x00, 0x00, 0x64,
0x00, 0x0a, 0x00, 0x00, 0xff, 0x01, 0xa5, 0x6a,
};
Packet *p = PacketGetFromAlloc();
- if (unlikely(p == NULL)) {
- return 0;
- }
+ FAIL_IF_NULL(p);
ThreadVars tv;
DecodeThreadVars dtv;
-
memset(&dtv, 0, sizeof(DecodeThreadVars));
memset(&tv, 0, sizeof(ThreadVars));
DecodeMPLS(&tv, &dtv, p, pkt, sizeof(pkt));
+ FAIL_IF(!ENGINE_ISSET_EVENT(p, MPLS_BAD_LABEL_RESERVED));
- if (!ENGINE_ISSET_EVENT(p, MPLS_BAD_LABEL_RESERVED)) {
- ret = 0;
- }
-
- SCFree(p);
- return ret;
+ PacketFree(p);
+ PASS;
}
static int DecodeMPLSTestUnknownPayloadType(void)
{
- int ret = 1;
-
/* Valid label: 21.
* Unknown payload type: 1.
*/
};
Packet *p = PacketGetFromAlloc();
- if (unlikely(p == NULL)) {
- return 0;
- }
+ FAIL_IF_NULL(p);
ThreadVars tv;
DecodeThreadVars dtv;
-
memset(&dtv, 0, sizeof(DecodeThreadVars));
memset(&tv, 0, sizeof(ThreadVars));
DecodeMPLS(&tv, &dtv, p, pkt, sizeof(pkt));
+ FAIL_IF(!ENGINE_ISSET_EVENT(p, MPLS_UNKNOWN_PAYLOAD_TYPE));
- if (!ENGINE_ISSET_EVENT(p, MPLS_UNKNOWN_PAYLOAD_TYPE)) {
- ret = 0;
- }
-
- SCFree(p);
- return ret;
+ PacketFree(p);
+ PASS;
}
#endif /* UNITTESTS */