v1.6_develop fuzz integration (#515)
* - FUZZ: add mms related fuzzers * - FUZZ: add acse parse fuzzer * - FUZZ: fix incorrect source code namepull/535/head
parent
519b0208cc
commit
1b91b09802
@ -0,0 +1,14 @@
|
||||
#include "acse.h"
|
||||
|
||||
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
|
||||
{
|
||||
AcseConnection acseConnection;
|
||||
AcseConnection_init(&acseConnection, NULL, NULL, NULL);
|
||||
|
||||
ByteBuffer* acseBuffer = ByteBuffer_create(NULL, size);
|
||||
ByteBuffer_append(acseBuffer, data, size);
|
||||
AcseConnection_parseMessage(&acseConnection, acseBuffer);
|
||||
|
||||
ByteBuffer_destroy(acseBuffer);
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "iec61850_server.h"
|
||||
#include "hal_thread.h"
|
||||
#include "lib_memory.h"
|
||||
|
||||
int LLVMFuzzerTestOneInput(const char *data, size_t size) {
|
||||
int out;
|
||||
MmsValue* mmsValue = NULL;
|
||||
mmsValue = MmsValue_decodeMmsData(data, 0, size, &out);
|
||||
if (mmsValue == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int dataSize = MmsValue_encodeMmsData(mmsValue, NULL, 0, false);
|
||||
if (dataSize <= 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t *mmsBuffer = (uint8_t *)GLOBAL_MALLOC(dataSize);
|
||||
if (mmsBuffer == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
MmsValue_encodeMmsData(mmsValue, mmsBuffer, 0, true);
|
||||
|
||||
GLOBAL_FREEMEM(mmsBuffer);
|
||||
|
||||
if (mmsValue != NULL) {
|
||||
MmsValue_delete(mmsValue);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "iec61850_server.h"
|
||||
#include "hal_thread.h"
|
||||
|
||||
#define kBufSize 4096
|
||||
|
||||
int LLVMFuzzerTestOneInput(const char *data, size_t size) {
|
||||
int out;
|
||||
MmsValue* mmsValue = NULL;
|
||||
mmsValue = MmsValue_decodeMmsData(data, 0, size, &out);
|
||||
if (mmsValue == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int dataSize = MmsValue_encodeMmsData(mmsValue, NULL, 0, false);
|
||||
if (dataSize <= 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
char printBuffer[kBufSize];
|
||||
MmsValue_printToBuffer(mmsValue, printBuffer, kBufSize);
|
||||
|
||||
if (mmsValue != NULL) {
|
||||
MmsValue_delete(mmsValue);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue