mirror of
https://github.com/moparisthebest/pacman
synced 2025-03-01 01:41:52 -05:00
ini.c: give recursion limit file scope
The recursion limit is an artificial limitation imposed to prevent memory exhaustion in a recursive function. Giving it file-level scope increases its visibility. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
4d4f46ba2a
commit
c02b16c4cc
@ -27,6 +27,8 @@
|
|||||||
#include "ini.h"
|
#include "ini.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
|
static const int ini_max_recursion = 10;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief INI parser backend.
|
* @brief INI parser backend.
|
||||||
*
|
*
|
||||||
@ -46,11 +48,11 @@ static int _parse_ini(const char *file, ini_parser_fn cb, void *data,
|
|||||||
FILE *fp = NULL;
|
FILE *fp = NULL;
|
||||||
int linenum = 0;
|
int linenum = 0;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
const int max_depth = 10;
|
|
||||||
|
|
||||||
if(depth >= max_depth) {
|
if(depth >= ini_max_recursion) {
|
||||||
pm_printf(ALPM_LOG_ERROR,
|
pm_printf(ALPM_LOG_ERROR,
|
||||||
_("config parsing exceeded max recursion depth of %d.\n"), max_depth);
|
_("config parsing exceeded max recursion depth of %d.\n"),
|
||||||
|
ini_max_recursion);
|
||||||
ret = 1;
|
ret = 1;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user