mirror of
				https://gitlab.gnome.org/GNOME/libxml2.git
				synced 2025-11-03 20:33:18 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			116 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * fuzz.h: Common functions and macros for fuzzing.
 | 
						|
 *
 | 
						|
 * See Copyright for the status of this software.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef __XML_FUZZERCOMMON_H__
 | 
						|
#define __XML_FUZZERCOMMON_H__
 | 
						|
 | 
						|
#include <stddef.h>
 | 
						|
#include <stdio.h>
 | 
						|
#include <libxml/parser.h>
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
#if defined(LIBXML_HTML_ENABLED)
 | 
						|
  #define HAVE_HTML_FUZZER
 | 
						|
#endif
 | 
						|
#if defined(LIBXML_READER_ENABLED)
 | 
						|
  #define HAVE_READER_FUZZER
 | 
						|
#endif
 | 
						|
#if defined(LIBXML_REGEXP_ENABLED)
 | 
						|
  #define HAVE_REGEXP_FUZZER
 | 
						|
#endif
 | 
						|
#if defined(LIBXML_SCHEMAS_ENABLED)
 | 
						|
  #define HAVE_SCHEMA_FUZZER
 | 
						|
#endif
 | 
						|
#if 1
 | 
						|
  #define HAVE_URI_FUZZER
 | 
						|
#endif
 | 
						|
#if defined(LIBXML_VALID_ENABLED)
 | 
						|
  #define HAVE_VALID_FUZZER
 | 
						|
#endif
 | 
						|
#if defined(LIBXML_XINCLUDE_ENABLED)
 | 
						|
  #define HAVE_XINCLUDE_FUZZER
 | 
						|
#endif
 | 
						|
#if 1
 | 
						|
  #define HAVE_XML_FUZZER
 | 
						|
#endif
 | 
						|
#if defined(LIBXML_XPTR_ENABLED)
 | 
						|
  #define HAVE_XPATH_FUZZER
 | 
						|
#endif
 | 
						|
 | 
						|
int
 | 
						|
LLVMFuzzerInitialize(int *argc, char ***argv);
 | 
						|
 | 
						|
int
 | 
						|
LLVMFuzzerTestOneInput(const char *data, size_t size);
 | 
						|
 | 
						|
void
 | 
						|
xmlFuzzErrorFunc(void *ctx ATTRIBUTE_UNUSED, const char *msg ATTRIBUTE_UNUSED,
 | 
						|
                 ...);
 | 
						|
 | 
						|
void
 | 
						|
xmlFuzzMemSetup(void);
 | 
						|
 | 
						|
void
 | 
						|
xmlFuzzMemSetLimit(size_t limit);
 | 
						|
 | 
						|
int
 | 
						|
xmlFuzzMallocFailed(void);
 | 
						|
 | 
						|
void
 | 
						|
xmlFuzzResetMallocFailed(void);
 | 
						|
 | 
						|
void
 | 
						|
xmlFuzzCheckMallocFailure(const char *func, int expect);
 | 
						|
 | 
						|
void
 | 
						|
xmlFuzzDataInit(const char *data, size_t size);
 | 
						|
 | 
						|
void
 | 
						|
xmlFuzzDataCleanup(void);
 | 
						|
 | 
						|
void
 | 
						|
xmlFuzzWriteInt(FILE *out, size_t v, int size);
 | 
						|
 | 
						|
size_t
 | 
						|
xmlFuzzReadInt(int size);
 | 
						|
 | 
						|
size_t
 | 
						|
xmlFuzzBytesRemaining(void);
 | 
						|
 | 
						|
const char *
 | 
						|
xmlFuzzReadRemaining(size_t *size);
 | 
						|
 | 
						|
void
 | 
						|
xmlFuzzWriteString(FILE *out, const char *str);
 | 
						|
 | 
						|
const char *
 | 
						|
xmlFuzzReadString(size_t *size);
 | 
						|
 | 
						|
void
 | 
						|
xmlFuzzReadEntities(void);
 | 
						|
 | 
						|
const char *
 | 
						|
xmlFuzzMainUrl(void);
 | 
						|
 | 
						|
const char *
 | 
						|
xmlFuzzMainEntity(size_t *size);
 | 
						|
 | 
						|
xmlParserInputPtr
 | 
						|
xmlFuzzEntityLoader(const char *URL, const char *ID, xmlParserCtxtPtr ctxt);
 | 
						|
 | 
						|
char *
 | 
						|
xmlSlurpFile(const char *path, size_t *size);
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif /* __XML_FUZZERCOMMON_H__ */
 | 
						|
 |