Browse Source

In the ngspice shared library the fcn ivers is called

with a NULL argument. The fix safeguards against argv0
being NULL.
In this case Spice_Exec_Path is set to NULL, it is
safeguarded against NULL when being used.
pre-master-46
Holger Vogt 3 years ago
parent
commit
2e2b74c188
  1. 24
      src/misc/ivars.c

24
src/misc/ivars.c

@ -105,19 +105,23 @@ ivars(char *argv0)
AsciiRawFile = atoi(temp); AsciiRawFile = atoi(temp);
/* path of the ngspice executable */ /* path of the ngspice executable */
Spice_Exec_Path = copy(argv0);
/* find the last occurence of "ngspice" in Spice_Exec_Path */
char* path_end = strstr(Spice_Exec_Path, "ngspice");
if (path_end) {
char* exec_only = strstr(path_end + 7, "ngspice");
while (exec_only) {
path_end = strstr(exec_only, "ngspice");
if (argv0) {
Spice_Exec_Path = copy(argv0);
/* find the last occurence of "ngspice" in Spice_Exec_Path */
char* path_end = strstr(Spice_Exec_Path, "ngspice");
if (path_end) {
char* exec_only = strstr(path_end + 7, "ngspice");
while (exec_only) {
path_end = strstr(exec_only, "ngspice");
if (path_end)
exec_only = strstr(path_end + 7, "ngspice");
}
if (path_end) if (path_end)
exec_only = strstr(path_end + 7, "ngspice");
*path_end = '\0';
} }
if (path_end)
*path_end = '\0';
} }
else
Spice_Exec_Path = NULL;
} }
void void

Loading…
Cancel
Save