64ce0ad373
The fix limits recursion depths when parsing arrays and objects. The limit is configurable via the `JSON_PARSER_MAX_DEPTH` setting within `jansson_config.h` and is set by default to 2048. Update the RFC conformance document to note the limit; the RFC allows limits to be set by the implementation so nothing has actually changed w.r.t. conformance state. Reported by Gustavo Grieco.
44 lines
1.3 KiB
C
44 lines
1.3 KiB
C
/*
|
|
* Copyright (c) 2010-2014 Petri Lehtinen <petri@digip.org>
|
|
*
|
|
* Jansson is free software; you can redistribute it and/or modify
|
|
* it under the terms of the MIT license. See LICENSE for details.
|
|
*
|
|
*
|
|
* This file specifies a part of the site-specific configuration for
|
|
* Jansson, namely those things that affect the public API in
|
|
* jansson.h.
|
|
*
|
|
* The configure script copies this file to jansson_config.h and
|
|
* replaces @var@ substitutions by values that fit your system. If you
|
|
* cannot run the configure script, you can do the value substitution
|
|
* by hand.
|
|
*/
|
|
|
|
#ifndef JANSSON_CONFIG_H
|
|
#define JANSSON_CONFIG_H
|
|
|
|
/* If your compiler supports the inline keyword in C, JSON_INLINE is
|
|
defined to `inline', otherwise empty. In C++, the inline is always
|
|
supported. */
|
|
#ifdef __cplusplus
|
|
#define JSON_INLINE inline
|
|
#else
|
|
#define JSON_INLINE inline
|
|
#endif
|
|
|
|
/* If your compiler supports the `long long` type and the strtoll()
|
|
library function, JSON_INTEGER_IS_LONG_LONG is defined to 1,
|
|
otherwise to 0. */
|
|
#define JSON_INTEGER_IS_LONG_LONG 1
|
|
|
|
/* If locale.h and localeconv() are available, define to 1,
|
|
otherwise to 0. */
|
|
#define JSON_HAVE_LOCALECONV 0
|
|
|
|
/* Maximum recursion depth for parsing JSON input.
|
|
This limits the depth of e.g. array-within-array constructions. */
|
|
#define JSON_PARSER_MAX_DEPTH 2048
|
|
|
|
#endif
|