ENGINE-843: bad input checking everywhere Release_2.1 Release_2.1.6
authorKrista 'DarthMama' Bennett <krista@pep.foundation>
Mon, 09 Nov 2020 13:39:38 +0100
branchRelease_2.1
changeset 51730e68ede9ea7d
parent 5162 8789d6c10b8b
child 5174 804d1041740b
ENGINE-843: bad input checking everywhere
src/stringpair.c
     1.1 --- a/src/stringpair.c	Wed Oct 28 08:47:02 2020 +0100
     1.2 +++ b/src/stringpair.c	Mon Nov 09 13:39:38 2020 +0100
     1.3 @@ -115,6 +115,9 @@
     1.4  {
     1.5      assert(value);
     1.6  
     1.7 +    if (!value)
     1.8 +    	return NULL;
     1.9 +
    1.10      // empty list (no nodes)
    1.11      if (stringpair_list == NULL)
    1.12          return new_stringpair_list(value);
    1.13 @@ -179,6 +182,9 @@
    1.14          const stringpair_list_t *stringpair_list
    1.15      )
    1.16  {
    1.17 +	if (!stringpair_list)
    1.18 +		return 0;
    1.19 +
    1.20      int len = 0;
    1.21  
    1.22      for (const stringpair_list_t *_sl = stringpair_list; _sl && _sl->value; _sl = _sl->next)
    1.23 @@ -205,6 +211,9 @@
    1.24      assert(sp_list);
    1.25      assert(key);
    1.26  
    1.27 +    if (!key || !sp_list)
    1.28 +    	return NULL;
    1.29 +
    1.30      if (sp_list->value == NULL) {
    1.31          free_stringpair_list(sp_list);
    1.32          return NULL;
    1.33 @@ -238,6 +247,9 @@
    1.34  {
    1.35      assert(key);
    1.36  
    1.37 +    if (!key || !stringpair_list || !stringpair_list->value)
    1.38 +    	return NULL;
    1.39 +
    1.40      for (stringpair_list_t *_l = stringpair_list; _l; _l = _l->next) {
    1.41          if (strcoll(key, _l->value->key) == 0)
    1.42              return _l;