A logic bug in update_script_environment() means that it can call
remove_script_env() even when the variable being removed is not
present in the script_env array. The result of that is that
remove_script_env() will call free() with argument NULL - 1.
To fix this, we avoid calling remove_script_env() in this case.
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
script_env[i] = newstring;
else
add_script_env(i, newstring);
- } else {
+ } else if (p != NULL) {
remove_script_env(i);
}
}