Menu

#502 Bugs / Leaks reported by Clang analyzer

v1.0 (example)
open
nobody
None
5
2020-08-16
2020-07-27
Ferdy
No

I am building ngspice (from git master branch) using QtCreator.

When running the static clang analyzer, I see several memory leaks and pointer problems being reported.

Are these bugs fixed on another branch, or they were not reported yet?

Thanks in advance!

1 Attachments

Discussion

  • Holger Vogt

    Holger Vogt - 2020-07-27

    Please attach the report as a text file here.

    Your screen shot does not show any memory leak or memory access error, accept for the first entry which is not part of ngspice.

    Most of the other messages are at most annoying, but not critical, and so nobody found time to care about.

    But let's have a look at the complete report.

     
  • Ferdy

    Ferdy - 2020-07-27

    General compiler warnings:

    x11.c: In function X11_Text:
    x11.c:726:71: warning: conversion to int from size_t {aka long unsigned int} may alter its value [-Wconversion]
                     x, currentgraph->absolute.height - y, (FcChar8*)text, strlen(text));
                                                                           ^~~~~~
    x11.c:735:114: warning: conversion to int from size_t {aka long unsigned int} may alter its value [-Wconversion]
                     x + (int)(1.5 * wlen), currentgraph->absolute.height - y + (int)(0.5 * wheight), (FcChar8*)text, strlen(text));
                                                                                                                      ^~~~~~
    x11.c: In function Xget_str_length:
    x11.c:1365:63: warning: conversion to int from size_t {aka long unsigned int} may alter its value [-Wconversion]
             XftTextExtentsUtf8( display, gfont, (XftChar8 *)text, strlen(text), &extents );
                                                                   ^~~~~~
    x11.c: At top level:
    x11.c:1380:1: warning: no previous prototype for X11_GetLenStr [-Wmissing-prototypes]
     X11_GetLenStr(GRAPH *gr, char* instring)
     ^~~~~~~~~~~~~
    
     wallace.c:66:1: warning: no previous prototype for destroy_wallace [-Wmissing-prototypes]
     destroy_wallace(void)
     ^~~~~~~~~~~~~~~
    
     parse-bison.c: In function PPparse:
    parse-bison.c:1273:12: warning: conversion to yytype_int16 {aka short int} from int may alter its value [-Wconversion]
       *yyssp = yystate;
                ^~~~~~~
    parse-bison.c:1278:25: warning: conversion to long unsigned int from long int may change the sign of the result [-Wsign-conversion]
           YYSIZE_T yysize = yyssp - yyss + 1;
                             ^~~~~
    
    inpptree-parser.c: In function PTparse:
    inpptree-parser.c:1265:12: warning: conversion to yytype_int16 {aka short int} from int may alter its value [-Wconversion]
       *yyssp = yystate;
                ^~~~~~~
    inpptree-parser.c:1270:25: warning: conversion to long unsigned int from long int may change the sign of the result [-Wsign-conversion]
           YYSIZE_T yysize = yyssp - yyss + 1;
                             ^~~~~
    
     
  • Ferdy

    Ferdy - 2020-07-27

    I have to go one by one because QtCreator only allows to copy the report for each file, not for the whole project.

    Here mslib:

    /opt/ngspice-ngspice/contrib/mslib/inc_LSD.c:66:3: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
     1: Loop condition is false. Execution continues on line 55 in /opt/ngspice-ngspice/contrib/mslib/inc_LSD.c:53
     2: Calling 'Backfree' in /opt/ngspice-ngspice/contrib/mslib/inc_LSD.c:55
     3: Assuming the condition is false in /opt/ngspice-ngspice/contrib/mslib/inc_LSD.c:64
     4: Taking false branch in /opt/ngspice-ngspice/contrib/mslib/inc_LSD.c:64
     5: Assuming the condition is false in /opt/ngspice-ngspice/contrib/mslib/inc_LSD.c:66
     6: '?' condition is false in /opt/ngspice-ngspice/contrib/mslib/inc_LSD.c:66
     7: Memory is released in /opt/ngspice-ngspice/contrib/mslib/inc_LSD.c:66
     8: Use of memory after it is freed in /opt/ngspice-ngspice/contrib/mslib/inc_LSD.c:66
    
    /opt/ngspice-ngspice/contrib/mslib/inc_inp.c:77:7: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
     1: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 in /opt/ngspice-ngspice/contrib/mslib/inc_inp.c:77
    
     
  • Ferdy

    Ferdy - 2020-07-27

    From ciderlib:

    /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:45:29: warning: Array access (from variable 'nodeArray') results in a null pointer dereference [clang-analyzer-core.NullDereference]
     1: 'nodeArray' initialized to a null pointer value in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:33
     2: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     3: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     4: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     5: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     6: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     7: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
     8: Assuming 'pC' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
     9: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
    10: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:42
    11: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    12: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:42
    13: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    14: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:42
    15: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    16: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:42
    17: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    18: Array access (from variable 'nodeArray') results in a null pointer dereference in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:45
    
    /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:59:16: warning: Access to field 'type' results in a dereference of a null pointer (loaded from variable 'pM') [clang-analyzer-core.NullDereference]
     1: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     2: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     3: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     4: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     5: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     6: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
     7: Assuming 'pC' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
     8: Loop condition is false. Execution continues on line 49 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
     9: Assuming 'pDomain' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:49
    10: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:49
    11: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    12: Value assigned to 'pM' in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    13: Assuming 'pM' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    14: Loop condition is false. Execution continues on line 59 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    15: Access to field 'type' results in a dereference of a null pointer (loaded from variable 'pM') in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:59
    
    /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:61:15: warning: Array access (from variable 'nodeArray') results in a null pointer dereference [clang-analyzer-core.NullDereference]
     1: 'nodeArray' initialized to a null pointer value in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:33
     2: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     3: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     4: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     5: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     6: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     7: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
     8: Assuming 'pC' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
     9: Loop condition is false. Execution continues on line 49 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
    10: Assuming 'pDomain' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:49
    11: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:49
    12: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    13: Assuming 'pM' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    14: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    15: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:55
    16: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:55
    17:  Execution continues on line 59 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:56
    18: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:60
    19: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:60
    20: Array access (from variable 'nodeArray') results in a null pointer dereference in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:61
    
    /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:73:13: warning: Array access (from variable 'nodeArray') results in a null pointer dereference [clang-analyzer-core.NullDereference]
     1: 'nodeArray' initialized to a null pointer value in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:33
     2: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     3: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     4: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     5: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     6: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     7: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
     8: Assuming 'pC' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
     9: Loop condition is false. Execution continues on line 49 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
    10: Assuming 'pDomain' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:49
    11: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:49
    12: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    13: Assuming 'pM' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    14: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    15: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:55
    16: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:55
    17:  Execution continues on line 59 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:56
    18: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:60
    19: Loop condition is false. Execution continues on line 53 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:60
    20: Assuming 'pD' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    21: Loop condition is false. Execution continues on line 72 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    22: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:72
    23: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:72
    24: Array access (from variable 'nodeArray') results in a null pointer dereference in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:73
    
    /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:74:10: warning: Access to field 'nodeType' results in a dereference of a null pointer (loaded from variable 'pNode') [clang-analyzer-core.NullDereference]
     1: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     2: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     3: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     4: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     5: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     6: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     7: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     8: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     9: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
    10: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    11: Assuming 'pC' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
    12: Loop condition is false. Execution continues on line 49 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
    13: Assuming 'pDomain' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:49
    14: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:49
    15: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    16: Assuming 'pM' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    17: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    18: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:55
    19: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:55
    20:  Execution continues on line 59 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:56
    21: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:60
    22: Loop condition is false. Execution continues on line 53 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:60
    23: Assuming 'pD' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    24: Loop condition is false. Execution continues on line 72 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    25: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:72
    26: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:72
    27: Null pointer value stored to 'pNode' in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:73
    28: Access to field 'nodeType' results in a dereference of a null pointer (loaded from variable 'pNode') in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:74
    
    /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:84:3: warning: Array access (from variable 'nodeArray') results in a null pointer dereference [clang-analyzer-core.NullDereference]
     1: 'nodeArray' initialized to a null pointer value in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:33
     2: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     3: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     4: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     5: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     6: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     7: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
     8: Assuming 'pC' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
     9: Loop condition is false. Execution continues on line 49 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
    10: Assuming 'pDomain' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:49
    11: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:49
    12: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    13: Assuming 'pM' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    14: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    15: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:55
    16: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:55
    17:  Execution continues on line 59 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:56
    18: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:60
    19: Loop condition is false. Execution continues on line 53 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:60
    20: Assuming 'pD' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    21: Loop condition is false. Execution continues on line 72 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    22: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:72
    23: Loop condition is false. Execution continues on line 79 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:72
    24: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:79
    25: Array access (from variable 'nodeArray') results in a null pointer dereference in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:84
    
    /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:84:26: warning: Access to field 'nodeType' results in a dereference of a null pointer [clang-analyzer-core.NullDereference]
     1: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     2: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     3: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     4: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     5: Storing null pointer value in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     6: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     7: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     8: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     9: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
    10: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    11: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
    12: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    13: Assuming 'pC' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
    14: Loop condition is false. Execution continues on line 49 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
    15: Assuming 'pDomain' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:49
    16: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:49
    17: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    18: Assuming 'pM' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    19: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    20: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:55
    21: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:55
    22:  Execution continues on line 59 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:56
    23: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:60
    24: Loop condition is false. Execution continues on line 53 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:60
    25: Assuming 'pD' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    26: Loop condition is false. Execution continues on line 72 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    27: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:72
    28: Loop condition is false. Execution continues on line 79 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:72
    29: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:79
    30: Access to field 'nodeType' results in a dereference of a null pointer in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:84
    
    /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:140:16: warning: Potential leak of memory pointed to by 'nodeArray' [clang-analyzer-unix.Malloc]
     1: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     2: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     3: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     4: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     5: Memory is allocated in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     6: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     7: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
     8: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     9: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
    10: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    11: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:38
    12: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    13: Assuming 'pC' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
    14: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
    15: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:42
    16: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    17: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:42
    18: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    19: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:42
    20: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    21: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:42
    22: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    23: Assuming 'pC' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
    24: Loop condition is false. Execution continues on line 49 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:40
    25: Assuming 'pDomain' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:49
    26: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:49
    27: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    28: Assuming 'pM' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    29: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:54
    30: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:55
    31: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:55
    32:  Execution continues on line 59 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:56
    33: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:60
    34: Loop condition is false. Execution continues on line 53 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:60
    35: Assuming 'pD' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    36: Loop condition is false. Execution continues on line 72 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:53
    37: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:72
    38: Loop condition is false. Execution continues on line 79 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:72
    39: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:79
    40: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:89
    41: Loop condition is false. Execution continues on line 99 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:89
    42: Loop condition is false. Execution continues on line 112 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:99
    43: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:112
    44: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:113
    45: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:114
    46:  Execution continues on line 118 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:115
    47: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:119
    48: Loop condition is false. Execution continues on line 112 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:119
    49: Loop condition is false. Execution continues on line 128 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:112
    50: Loop condition is false. Execution continues on line 140 in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:128
    51: Potential leak of memory pointed to by 'nodeArray' in /opt/ngspice-ngspice/src/ciderlib/oned/onemesh.c:140
    
    /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:104:26: warning: The left operand of '-' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
     1: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:36
     2: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:36
     3: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:43
     4: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:43
     5: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:56
     6: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:56
     7: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:58
     8: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:59
     9: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:59
    10: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:58
    11: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:59
    12: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:59
    13: Loop condition is false. Execution continues on line 101 in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:58
    14: The left operand of '-' is a garbage value in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:104
    
    /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:104:26: warning: The right operand of '-' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
     1: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:36
     2: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:36
     3: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:43
     4: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:43
     5: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:56
     6: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:56
     7: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:58
     8: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:59
     9: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:59
    10: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:58
    11: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:59
    12: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:59
    13: Assuming 'BandGapNarrowing' is 0 in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:66
    14: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:66
    15: Assuming 'ConcDepLifetime' is 0 in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:88
    16: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:88
    17: Loop condition is false. Execution continues on line 101 in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:58
    18: The right operand of '-' is a garbage value in /opt/ngspice-ngspice/src/ciderlib/oned/onesetup.c:104
    
    /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:61:23: warning: Array access results in a null pointer dereference [clang-analyzer-core.NullDereference]
     1: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:33
     2: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:33
     3: Assuming 'impType' is not equal to IMP_P_TYPE in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:41
     4: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:41
     5: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:48
     6: expanded from macro 'fscanf' in /usr/local/include/ngspice/wstdio.h:67
     7: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:48
     8: Calling 'alloc_profile_data' in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:58
     9: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:217
    10: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    11: Storing null pointer value in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:217
    12: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    13: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:217
    14: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    15: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:217
    16: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    17: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:217
    18: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    19: Assuming 'n' is 0 in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:218
    20: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    21: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:218
    22: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    23: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:218
    24: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    25: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:219
    26: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    27: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:219
    28: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    29: Returning from 'alloc_profile_data' in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:58
    30: Array access results in a null pointer dereference in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:61
    
    /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:175:23: warning: Array access results in a null pointer dereference [clang-analyzer-core.NullDereference]
     1: Assuming 'fileType' is not equal to 0 in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:158
     2: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:158
     3: Calling 'alloc_profile_data' in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:172
     4: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:217
     5: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     6: Storing null pointer value in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:217
     7: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     8: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:217
     9: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    10: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:217
    11: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    12: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:217
    13: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    14: Assuming 'n' is 0 in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:218
    15: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    16: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:218
    17: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    18: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:218
    19: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    20: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:219
    21: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    22: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:219
    23: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    24: Returning from 'alloc_profile_data' in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:172
    25: Array access results in a null pointer dereference in /opt/ngspice-ngspice/src/ciderlib/support/suprem.c:175
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:96:10: warning: Access to field 'dPsi' results in a dereference of a null pointer (loaded from variable 'pEdgeR') [clang-analyzer-core.NullDereference]
     1: Null pointer value stored to 'pEdgeR' in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:39
     2: Assuming 'pElemTL' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:42
     3: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:42
     4: Assuming 'pElemTR' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:54
     5: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:54
     6: Assuming 'pElemBR' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:66
     7: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:66
     8: Assuming 'pElemBL' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:78
     9: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:78
    10: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:94
    11: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:95
    12: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:95
    13: Access to field 'dPsi' results in a dereference of a null pointer (loaded from variable 'pEdgeR') in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:96
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:141:10: warning: Access to field 'dPsi' results in a dereference of a null pointer (loaded from variable 'pEdgeB') [clang-analyzer-core.NullDereference]
     1: Null pointer value stored to 'pEdgeB' in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:39
     2: Assuming 'pElemTL' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:42
     3: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:42
     4: Assuming 'pElemTR' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:54
     5: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:54
     6: Assuming 'pElemBR' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:66
     7: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:66
     8: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:67
     9: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:67
    10: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:72
    11: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:72
    12: Assuming 'pElemBL' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:78
    13: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:78
    14: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:94
    15: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:95
    16: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:95
    17: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:139
    18: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:140
    19: Access to field 'dPsi' results in a dereference of a null pointer (loaded from variable 'pEdgeB') in /opt/ngspice-ngspice/src/ciderlib/twod/twoaval.c:141
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:117:14: warning: Access to field 'jn' results in a dereference of a null pointer (loaded from variable 'pEdgeR') [clang-analyzer-core.NullDereference]
     1: Null pointer value stored to 'pEdgeR' in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:37
     2: Assuming 'pElemTL' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:43
     3: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:43
     4: Assuming 'pElemTR' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:60
     5: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:60
     6: Assuming 'pElemBR' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:76
     7: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:76
     8: Assuming 'pElemBL' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:93
     9: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:93
    10: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:115
    11: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:116
    12: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:116
    13: Access to field 'jn' results in a dereference of a null pointer (loaded from variable 'pEdgeR') in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:117
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:154:14: warning: Access to field 'jn' results in a dereference of a null pointer (loaded from variable 'pEdgeB') [clang-analyzer-core.NullDereference]
     1: Null pointer value stored to 'pEdgeB' in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:37
     2: Assuming 'pElemTL' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:43
     3: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:43
     4: Assuming 'pElemTR' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:60
     5: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:60
     6: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:64
     7: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:64
     8: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:69
     9: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:69
    10: Assuming 'pElemBR' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:76
    11: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:76
    12: Assuming 'pElemBL' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:93
    13: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:93
    14: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:115
    15: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:116
    16: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:116
    17: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:152
    18: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:153
    19: Access to field 'jn' results in a dereference of a null pointer (loaded from variable 'pEdgeB') in /opt/ngspice-ngspice/src/ciderlib/twod/twocurr.c:154
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:123:6: warning: The expression is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
     1: Assuming 'pE' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:108
     2: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:108
     3: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:109
     4: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:109
     5: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:114
     6: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:114
     7: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:115
     8: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:115
     9: Assuming 'pNode' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:117
    10: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:117
    11: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:121
    12: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:121
    13: The expression is an uninitialized value. The computed value will also be garbage in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:123
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:172:6: warning: Access to field 'pNodes' results in a dereference of a null pointer (loaded from variable 'pNew') [clang-analyzer-core.NullDereference]
     1: 'pNew' initialized to a null pointer value in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:96
     2: Assuming 'pE' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:108
     3: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:108
     4: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:109
     5: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:109
     6: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:114
     7: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:114
     8: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:115
     9: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:115
    10: Assuming 'pNode' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:117
    11: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:117
    12: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:115
    13: Loop condition is false. Execution continues on line 114 in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:115
    14: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:114
    15: Loop condition is false. Execution continues on line 108 in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:114
    16: Assuming 'pE' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:108
    17: Loop condition is false. Execution continues on line 134 in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:108
    18: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:134
    19: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:148
    20: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:149
    21: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:164
    22: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:165
    23: Assuming 'pNode' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:167
    24: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:167
    25: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:171
    26: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:171
    27: Access to field 'pNodes' results in a dereference of a null pointer (loaded from variable 'pNew') in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:172
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:172:31: warning: Array access (via field 'pNodes') results in a null pointer dereference [clang-analyzer-core.NullDereference]
     1: Assuming 'pE' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:108
     2: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:108
     3: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:109
     4: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:109
     5: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:114
     6: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:114
     7: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:115
     8: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:115
     9: Assuming 'pNode' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:117
    10: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:117
    11: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:115
    12: Loop condition is false. Execution continues on line 114 in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:115
    13: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:114
    14: Loop condition is false. Execution continues on line 108 in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:114
    15: Assuming 'pE' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:108
    16: Loop condition is false. Execution continues on line 134 in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:108
    17: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:134
    18: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:148
    19: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:149
    20: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:150
    21: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:151
    22: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    23: Null pointer value stored to field 'pNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:151
    24: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    25: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:151
    26: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    27: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:151
    28: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    29: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:151
    30: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    31: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:162
    32: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    33: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:162
    34: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    35: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:164
    36: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:165
    37: Assuming 'pNode' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:167
    38: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:167
    39: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:171
    40: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:171
    41: Array access (via field 'pNodes') results in a null pointer dereference in /opt/ngspice-ngspice/src/ciderlib/twod/twoelect.c:172
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:88:14: warning: Access to field 'dPsi' results in a dereference of a null pointer (loaded from variable 'pEdgeR') [clang-analyzer-core.NullDereference]
     1: Null pointer value stored to 'pEdgeR' in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:33
     2: Assuming 'pElemTL' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:36
     3: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:36
     4: Assuming 'pElemTR' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:48
     5: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:48
     6: Assuming 'pElemBR' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:60
     7: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:60
     8: Assuming 'pElemBL' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:72
     9: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:72
    10: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:86
    11: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:87
    12: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:87
    13: Access to field 'dPsi' results in a dereference of a null pointer (loaded from variable 'pEdgeR') in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:88
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:110:14: warning: Access to field 'dPsi' results in a dereference of a null pointer (loaded from variable 'pEdgeB') [clang-analyzer-core.NullDereference]
     1: Null pointer value stored to 'pEdgeB' in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:33
     2: Assuming 'pElemTL' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:36
     3: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:36
     4: Assuming 'pElemTR' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:48
     5: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:48
     6: Assuming 'pElemBR' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:60
     7: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:60
     8: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:61
     9: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:61
    10: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:66
    11: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:66
    12: Assuming 'pElemBL' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:72
    13: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:72
    14: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:86
    15: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:87
    16: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:87
    17: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:108
    18: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:109
    19: Access to field 'dPsi' results in a dereference of a null pointer (loaded from variable 'pEdgeB') in /opt/ngspice-ngspice/src/ciderlib/twod/twofield.c:110
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:50:5: warning: Array access (from variable 'nodeArray') results in a null pointer dereference [clang-analyzer-core.NullDereference]
     1: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     2: 'nodeArray' initialized to a null pointer value in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:31
     3: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     4: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     5: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     6: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     7: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     8: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
     9: Assuming 'xIndex' is <= 'numXNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    10: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    11: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:50
    12: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    13: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:50
    14: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    15: Array access (from variable 'nodeArray') results in a null pointer dereference in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:50
    16: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:60:7: warning: Array access (from variable 'nodeArray') results in a null pointer dereference [clang-analyzer-core.NullDereference]
     1: 'nodeArray' initialized to a null pointer value in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:31
     2: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     3: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     4: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     5: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     6: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     7: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
     8: Assuming 'xIndex' is <= 'numXNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
     9: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    10: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:50
    11: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    12: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:50
    13: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    14: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:50
    15: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    16: Assuming 'xIndex' is > 'numXNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    17: Loop condition is false. Execution continues on line 54 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    18: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:54
    19: Assuming 'yIndex' is <= 'numYNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:55
    20: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:55
    21: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:56
    22: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    23: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:56
    24: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    25: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:56
    26: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    27: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:56
    28: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    29: Array access (from variable 'nodeArray') results in a null pointer dereference in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:60
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:60:33: warning: Array access results in a null pointer dereference [clang-analyzer-core.NullDereference]
     1: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     2: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     3: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     4: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     5: Storing null pointer value in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     6: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     7: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     8: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     9: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
    10: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    11: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
    12: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    13: Assuming 'xIndex' is <= 'numXNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    14: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    15: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:50
    16: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    17: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:50
    18: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    19: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:50
    20: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    21: Assuming 'xIndex' is > 'numXNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    22: Loop condition is false. Execution continues on line 54 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    23: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:54
    24: Assuming 'yIndex' is <= 'numYNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:55
    25: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:55
    26: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:56
    27: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    28: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:56
    29: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    30: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:56
    31: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    32: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:56
    33: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    34: Array access results in a null pointer dereference in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:60
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:75:16: warning: Access to field 'type' results in a dereference of a null pointer (loaded from variable 'pM') [clang-analyzer-core.NullDereference]
     1: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     2: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     3: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     4: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     5: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     6: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
     7: Assuming 'xIndex' is > 'numXNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
     8: Loop condition is false. Execution continues on line 54 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
     9: Loop condition is false. Execution continues on line 65 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:54
    10: Assuming 'pDomain' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:65
    11: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:65
    12: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:69
    13: Value assigned to 'pM' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:70
    14: Assuming 'pM' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:70
    15: Loop condition is false. Execution continues on line 75 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:70
    16: Access to field 'type' results in a dereference of a null pointer (loaded from variable 'pM') in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:75
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:78:10: warning: Array access (from variable 'nodeArray') results in a null pointer dereference [clang-analyzer-core.NullDereference]
     1: 'nodeArray' initialized to a null pointer value in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:31
     2: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     3: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     4: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     5: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     6: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     7: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
     8: Assuming 'xIndex' is > 'numXNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
     9: Loop condition is false. Execution continues on line 54 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    10: Loop condition is false. Execution continues on line 65 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:54
    11: Assuming 'pDomain' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:65
    12: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:65
    13: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:69
    14: Assuming 'pM' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:70
    15: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:70
    16: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:71
    17: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:71
    18:  Execution continues on line 75 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:72
    19: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:76
    20: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:76
    21: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:77
    22: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:77
    23: Array access (from variable 'nodeArray') results in a null pointer dereference in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:78
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:87:10: warning: Array access (from variable 'nodeArray') results in a null pointer dereference [clang-analyzer-core.NullDereference]
     1: 'nodeArray' initialized to a null pointer value in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:31
     2: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     3: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     4: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     5: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     6: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     7: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
     8: Assuming 'xIndex' is > 'numXNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
     9: Loop condition is false. Execution continues on line 54 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    10: Loop condition is false. Execution continues on line 65 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:54
    11: Assuming 'pDomain' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:65
    12: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:65
    13: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:69
    14: Assuming 'pM' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:70
    15: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:70
    16: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:71
    17: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:71
    18:  Execution continues on line 75 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:72
    19: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:76
    20: Loop condition is false. Execution continues on line 69 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:76
    21: Assuming 'pD' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:69
    22: Loop condition is false. Execution continues on line 84 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:69
    23: Assuming 'pE' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:84
    24: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:84
    25: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:85
    26: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:85
    27: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:86
    28: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:86
    29: Array access (from variable 'nodeArray') results in a null pointer dereference in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:87
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:451:10: warning: Array access (from variable 'nodeArray') results in a null pointer dereference [clang-analyzer-core.NullDereference]
     1: expanded from macro 'FREE' in /usr/local/include/ngspice/memory.h:32
     2: 'nodeArray' initialized to a null pointer value in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:31
     3: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     4: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     5: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     6: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     7: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     8: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
     9: Assuming 'xIndex' is <= 'numXNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    10: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    11: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:50
    12: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    13: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:50
    14: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    15: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:50
    16: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    17: Assuming 'xIndex' is > 'numXNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    18: Loop condition is false. Execution continues on line 54 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    19: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:54
    20: Assuming 'yIndex' is > 'numYNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:55
    21: Loop condition is false. Execution continues on line 54 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:55
    22: Loop condition is false. Execution continues on line 65 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:54
    23: Assuming 'pDomain' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:65
    24: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:65
    25: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:69
    26: Assuming 'pM' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:70
    27: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:70
    28: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:71
    29: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:71
    30:  Execution continues on line 75 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:72
    31: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:76
    32: Loop condition is false. Execution continues on line 69 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:76
    33: Assuming 'pD' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:69
    34: Loop condition is false. Execution continues on line 84 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:69
    35: Assuming 'pE' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:84
    36: Loop condition is false. Execution continues on line 96 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:84
    37: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:96
    38: Loop condition is false. Execution continues on line 96 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:97
    39: Loop condition is false. Execution continues on line 137 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:96
    40: Loop condition is false. Execution continues on line 150 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:138
    41: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:159
    42: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    43: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:159
    44: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    45: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:159
    46: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    47: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:159
    48: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    49: Loop condition is false. Execution continues on line 163 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:160
    50: Loop condition is false. Execution continues on line 177 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:163
    51: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:177
    52: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    53: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:177
    54: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    55: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:177
    56: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    57: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:177
    58: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    59: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:178
    60: Assuming 'numYNodes' is 0 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:179
    61: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    62: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:179
    63: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    64: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:179
    65: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    66: Loop condition is false. Execution continues on line 181 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:178
    67: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:181
    68: Loop condition is false. Execution continues on line 181 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:182
    69: Loop condition is false. Execution continues on line 193 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:181
    70: Loop condition is false. Execution continues on line 225 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:197
    71: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:226
    72: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    73: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:226
    74: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    75: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:226
    76: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    77: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:226
    78: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    79: Loop condition is false. Execution continues on line 238 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:228
    80: Loop condition is false. Execution continues on line 263 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:238
    81: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:263
    82: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:264
    83: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:265
    84:  Execution continues on line 269 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:266
    85: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:270
    86: Loop condition is false. Execution continues on line 263 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:270
    87: Loop condition is false. Execution continues on line 283 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:263
    88: Loop condition is false. Execution continues on line 316 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:283
    89: Loop condition is false. Execution continues on line 358 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:319
    90: Loop condition is false. Execution continues on line 390 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:358
    91: Loop condition is false. Execution continues on line 425 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:391
    92: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:450
    93: Array access (from variable 'nodeArray') results in a null pointer dereference in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:451
    94: expanded from macro 'FREE' in /usr/local/include/ngspice/memory.h:32
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:458:3: warning: Potential leak of memory pointed to by 'edgeArrayV' [clang-analyzer-unix.Malloc]
     1: expanded from macro 'FREE' in /usr/local/include/ngspice/memory.h:32
     2: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     3: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     4: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     5: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     6: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     7: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
     8: Assuming 'xIndex' is > 'numXNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
     9: Loop condition is false. Execution continues on line 54 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    10: Loop condition is false. Execution continues on line 65 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:54
    11: Assuming 'pDomain' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:65
    12: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:65
    13: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:69
    14: Assuming 'pM' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:70
    15: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:70
    16: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:71
    17: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:71
    18:  Execution continues on line 75 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:72
    19: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:76
    20: Loop condition is false. Execution continues on line 69 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:76
    21: Assuming 'pD' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:69
    22: Loop condition is false. Execution continues on line 84 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:69
    23: Assuming 'pE' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:84
    24: Loop condition is false. Execution continues on line 96 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:84
    25: Loop condition is false. Execution continues on line 137 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:96
    26: Assuming 'yIndex' is > 'numYNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:138
    27: Loop condition is false. Execution continues on line 150 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:138
    28: Assuming 'numXNodes' is 0 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:159
    29: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    30: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:159
    31: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    32: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:159
    33: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    34: Loop condition is false. Execution continues on line 163 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:160
    35: Loop condition is false. Execution continues on line 177 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:163
    36: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:177
    37: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    38: Memory is allocated in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:177
    39: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    40: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:177
    41: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    42: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:177
    43: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    44: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:177
    45: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    46: Loop condition is false. Execution continues on line 181 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:178
    47: Loop condition is false. Execution continues on line 193 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:181
    48: Loop condition is false. Execution continues on line 225 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:197
    49: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:226
    50: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    51: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:226
    52: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    53: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:226
    54: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    55: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:226
    56: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    57: Loop condition is false. Execution continues on line 238 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:228
    58: Loop condition is false. Execution continues on line 263 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:238
    59: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:263
    60: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:264
    61: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:265
    62:  Execution continues on line 269 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:266
    63: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:270
    64: Loop condition is false. Execution continues on line 263 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:270
    65: Loop condition is false. Execution continues on line 283 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:263
    66: Loop condition is false. Execution continues on line 316 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:283
    67: Loop condition is false. Execution continues on line 358 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:319
    68: Loop condition is false. Execution continues on line 390 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:358
    69: Loop condition is false. Execution continues on line 425 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:391
    70: Loop condition is false. Execution continues on line 454 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:450
    71: Loop condition is false. Execution continues on line 457 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:454
    72: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:457
    73: expanded from macro 'FREE' in /usr/local/include/ngspice/memory.h:32
    74: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:457
    75: expanded from macro 'FREE' in /usr/local/include/ngspice/memory.h:32
    76: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:458
    77: expanded from macro 'FREE' in /usr/local/include/ngspice/memory.h:32
    78: Potential leak of memory pointed to by 'edgeArrayV' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:458
    79: expanded from macro 'FREE' in /usr/local/include/ngspice/memory.h:32
    
    /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:459:3: warning: Potential leak of memory pointed to by 'edgeArrayH' [clang-analyzer-unix.Malloc]
     1: expanded from macro 'FREE' in /usr/local/include/ngspice/memory.h:32
     2: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     3: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     4: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     5: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
     6: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:48
     7: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
     8: Assuming 'xIndex' is > 'numXNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
     9: Loop condition is false. Execution continues on line 54 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:49
    10: Loop condition is false. Execution continues on line 65 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:54
    11: Assuming 'pDomain' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:65
    12: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:65
    13: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:69
    14: Assuming 'pM' is not equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:70
    15: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:70
    16: Assuming the condition is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:71
    17: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:71
    18:  Execution continues on line 75 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:72
    19: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:76
    20: Loop condition is false. Execution continues on line 69 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:76
    21: Assuming 'pD' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:69
    22: Loop condition is false. Execution continues on line 84 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:69
    23: Assuming 'pE' is equal to NULL in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:84
    24: Loop condition is false. Execution continues on line 96 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:84
    25: Loop condition is false. Execution continues on line 137 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:96
    26: Assuming 'yIndex' is > 'numYNodes' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:138
    27: Loop condition is false. Execution continues on line 150 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:138
    28: Assuming 'numXNodes' is not equal to 0 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:159
    29: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    30: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:159
    31: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    32: Memory is allocated in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:159
    33: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    34: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:159
    35: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    36: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:159
    37: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    38: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:159
    39: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    40: Loop condition is false. Execution continues on line 163 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:160
    41: Loop condition is false. Execution continues on line 177 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:163
    42: Left side of '&&' is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:177
    43: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    44: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:177
    45: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    46: Loop condition is false. Execution continues on line 181 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:178
    47: Loop condition is false. Execution continues on line 193 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:181
    48: Loop condition is false. Execution continues on line 225 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:197
    49: Left side of '&&' is true in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:226
    50: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    51: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:226
    52: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    53: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:226
    54: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:54
    55: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:226
    56: expanded from macro 'XCALLOC' in /usr/local/include/ngspice/memory.h:53
    57: Loop condition is false. Execution continues on line 238 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:228
    58: Loop condition is false. Execution continues on line 263 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:238
    59: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:263
    60: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:264
    61: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:265
    62:  Execution continues on line 269 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:266
    63: Assuming the condition is false in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:270
    64: Loop condition is false. Execution continues on line 263 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:270
    65: Loop condition is false. Execution continues on line 283 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:263
    66: Loop condition is false. Execution continues on line 316 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:283
    67: Loop condition is false. Execution continues on line 358 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:319
    68: Loop condition is false. Execution continues on line 390 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:358
    69: Loop condition is false. Execution continues on line 425 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:391
    70: Loop condition is false. Execution continues on line 454 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:450
    71: Loop condition is false. Execution continues on line 457 in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:454
    72: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:457
    73: expanded from macro 'FREE' in /usr/local/include/ngspice/memory.h:32
    74: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:457
    75: expanded from macro 'FREE' in /usr/local/include/ngspice/memory.h:32
    76: Taking false branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:458
    77: expanded from macro 'FREE' in /usr/local/include/ngspice/memory.h:32
    78: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:458
    79: expanded from macro 'FREE' in /usr/local/include/ngspice/memory.h:32
    80: Taking true branch in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:459
    81: expanded from macro 'FREE' in /usr/local/include/ngspice/memory.h:32
    82: Potential leak of memory pointed to by 'edgeArrayH' in /opt/ngspice-ngspice/src/ciderlib/twod/twomesh.c:459
    83: expanded from macro 'FREE' in /usr/local/include/ngspice/memory.h:32
    
     
  • Ferdy

    Ferdy - 2020-07-27

    From frontend:

    /opt/ngspice-ngspice/src/frontend/com_alias.c:182:30: warning: Access to field 'al_prev' results in a dereference of a null pointer (loaded from field 'al_next') [clang-analyzer-core.NullDereference]
     1: Assuming the condition is false in /opt/ngspice-ngspice/src/frontend/com_alias.c:227
     2: expanded from macro 'eq' in /usr/local/include/ngspice/macros.h:25
     3: Taking false branch in /opt/ngspice-ngspice/src/frontend/com_alias.c:227
     4: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/frontend/com_alias.c:238
     5: Calling 'cp_unalias' in /opt/ngspice-ngspice/src/frontend/com_alias.c:239
     6: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/frontend/com_alias.c:169
     7: Taking true branch in /opt/ngspice-ngspice/src/frontend/com_alias.c:170
     8:  Execution continues on line 173 in /opt/ngspice-ngspice/src/frontend/com_alias.c:171
     9: Taking false branch in /opt/ngspice-ngspice/src/frontend/com_alias.c:173
    10: Assuming pointer value is null in /opt/ngspice-ngspice/src/frontend/com_alias.c:176
    11: Taking false branch in /opt/ngspice-ngspice/src/frontend/com_alias.c:176
    12: Assuming the condition is false in /opt/ngspice-ngspice/src/frontend/com_alias.c:179
    13: Taking false branch in /opt/ngspice-ngspice/src/frontend/com_alias.c:179
    14: Access to field 'al_prev' results in a dereference of a null pointer (loaded from field 'al_next') in /opt/ngspice-ngspice/src/frontend/com_alias.c:182
    
    /opt/ngspice-ngspice/src/frontend/com_history.c:495:13: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
     1: Null pointer value stored to 'pat' in /opt/ngspice-ngspice/src/frontend/com_history.c:495
     2: Dereference of null pointer in /opt/ngspice-ngspice/src/frontend/com_history.c:495
    
    /opt/ngspice-ngspice/src/frontend/help/provide.c:121:24: warning: Access to field 'next' results in a dereference of a null pointer (loaded from field 'next') [clang-analyzer-core.NullDereference]
     1: Assuming 'top' is non-null in /opt/ngspice-ngspice/src/frontend/help/provide.c:29
     2: Taking false branch in /opt/ngspice-ngspice/src/frontend/help/provide.c:29
     3: Assuming 'hlp_usex' is 0 in /opt/ngspice-ngspice/src/frontend/help/provide.c:38
     4: Taking false branch in /opt/ngspice-ngspice/src/frontend/help/provide.c:38
     5: Assuming the condition is false in /opt/ngspice-ngspice/src/frontend/help/provide.c:44
     6: Taking false branch in /opt/ngspice-ngspice/src/frontend/help/provide.c:44
     7: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/frontend/help/provide.c:55
     8: Taking false branch in /opt/ngspice-ngspice/src/frontend/help/provide.c:56
     9: Assuming 'res' is null in /opt/ngspice-ngspice/src/frontend/help/provide.c:60
    10: Left side of '&&' is true in /opt/ngspice-ngspice/src/frontend/help/provide.c:60
    11: Assuming 'parent' is non-null in /opt/ngspice-ngspice/src/frontend/help/provide.c:60
    12: Taking false branch in /opt/ngspice-ngspice/src/frontend/help/provide.c:60
    13: Taking false branch in /opt/ngspice-ngspice/src/frontend/help/provide.c:68
    14: Calling 'hlp_fixchildren' in /opt/ngspice-ngspice/src/frontend/help/provide.c:98
    15: Assuming the condition is true in /opt/ngspice-ngspice/src/frontend/help/provide.c:112
    16: Taking true branch in /opt/ngspice-ngspice/src/frontend/help/provide.c:112
    17: Assuming the condition is false in /opt/ngspice-ngspice/src/frontend/help/provide.c:113
    18: Taking false branch in /opt/ngspice-ngspice/src/frontend/help/provide.c:113
    19: Assuming pointer value is null in /opt/ngspice-ngspice/src/frontend/help/provide.c:116
    20: Loop condition is false. Execution continues on line 119 in /opt/ngspice-ngspice/src/frontend/help/provide.c:116
    21: Taking true branch in /opt/ngspice-ngspice/src/frontend/help/provide.c:119
    22: Access to field 'next' results in a dereference of a null pointer (loaded from field 'next') in /opt/ngspice-ngspice/src/frontend/help/provide.c:121
    
     
  • Ferdy

    Ferdy - 2020-07-27

    From maths:

    /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:383:20: warning: Access to field 'Row' results in a dereference of a null pointer (loaded from variable 'pColumn') [clang-analyzer-core.NullDereference]
     1: Assuming 'Matrix' is not equal to null in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     2: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     3: expanded from macro 'assert' in /usr/include/assert.h:98
     4: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     5: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     6: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     7: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:64
     8: expanded from macro 'assert' in /usr/include/assert.h:98
     9: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    10: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    11: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    12: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:65
    13: expanded from macro 'assert' in /usr/include/assert.h:98
    14: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    15: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    16: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    17: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:66
    18: expanded from macro 'assert' in /usr/include/assert.h:98
    19: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    20: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    21: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    22: expanded from macro 'assert' in /usr/include/assert.h:98
    23: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    24: expanded from macro 'assert' in /usr/include/assert.h:98
    25: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    26: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    27: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:354
    28: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:354
    29: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:355
    30: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:355
    31: Assuming 'Size' is not equal to 0 in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:360
    32: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:360
    33: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:365
    34: Assuming 'Step' is <= 'Size' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:369
    35: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:369
    36: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:370
    37: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:370
    38: Assuming 'pElement' is equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:376
    39: Loop condition is false. Execution continues on line 382 in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:376
    40: Null pointer value stored to 'pColumn' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:382
    41: Access to field 'Row' results in a dereference of a null pointer (loaded from variable 'pColumn') in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:383
    
    /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:414:20: warning: Access to field 'Row' results in a dereference of a null pointer (loaded from variable 'pColumn') [clang-analyzer-core.NullDereference]
     1: Assuming 'Matrix' is not equal to null in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     2: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     3: expanded from macro 'assert' in /usr/include/assert.h:98
     4: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     5: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     6: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     7: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:64
     8: expanded from macro 'assert' in /usr/include/assert.h:98
     9: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    10: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    11: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    12: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:65
    13: expanded from macro 'assert' in /usr/include/assert.h:98
    14: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    15: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    16: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    17: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:66
    18: expanded from macro 'assert' in /usr/include/assert.h:98
    19: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    20: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    21: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    22: expanded from macro 'assert' in /usr/include/assert.h:98
    23: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    24: expanded from macro 'assert' in /usr/include/assert.h:98
    25: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    26: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    27: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:354
    28: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:354
    29: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:355
    30: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:355
    31: Assuming 'Size' is not equal to 0 in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:360
    32: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:360
    33: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:365
    34: Assuming 'Step' is <= 'Size' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:369
    35: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:369
    36: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:370
    37: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:370
    38: Assuming 'pElement' is equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:407
    39: Loop condition is false. Execution continues on line 413 in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:407
    40: Null pointer value stored to 'pColumn' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:413
    41: Access to field 'Row' results in a dereference of a null pointer (loaded from variable 'pColumn') in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:414
    
    /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:495:20: warning: Access to field 'Row' results in a dereference of a null pointer (loaded from variable 'pColumn') [clang-analyzer-core.NullDereference]
     1: Assuming 'Matrix' is not equal to null in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     2: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     3: expanded from macro 'assert' in /usr/include/assert.h:98
     4: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     5: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     6: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     7: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:64
     8: expanded from macro 'assert' in /usr/include/assert.h:98
     9: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    10: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    11: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    12: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:65
    13: expanded from macro 'assert' in /usr/include/assert.h:98
    14: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    15: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    16: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    17: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:66
    18: expanded from macro 'assert' in /usr/include/assert.h:98
    19: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    20: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    21: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    22: expanded from macro 'assert' in /usr/include/assert.h:98
    23: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    24: expanded from macro 'assert' in /usr/include/assert.h:98
    25: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    26: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    27: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:354
    28: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:354
    29: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:355
    30: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:355
    31: Calling 'FactorComplexMatrix' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:356
    32: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:465
    33: expanded from macro 'assert' in /usr/include/assert.h:98
    34: Assuming 'Size' is not equal to 0 in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:469
    35: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:469
    36: '?' condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:475
    37: expanded from macro 'ELEMENT_MAG' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:105
    38: expanded from macro 'ABS' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:75
    39: '?' condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:475
    40: expanded from macro 'ELEMENT_MAG' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:105
    41: expanded from macro 'ABS' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:75
    42: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:475
    43: Left side of '&&' is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:477
    44: expanded from macro 'CMPLX_RECIPROCAL' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:350
    45: Left side of '&&' is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:477
    46: expanded from macro 'CMPLX_RECIPROCAL' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:351
    47: Assuming 'Step' is <= 'Size' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:480
    48: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:480
    49: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:481
    50: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:481
    51: Assuming 'pElement' is equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:488
    52: Loop condition is false. Execution continues on line 494 in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:488
    53: Null pointer value stored to 'pColumn' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:494
    54: Access to field 'Row' results in a dereference of a null pointer (loaded from variable 'pColumn') in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:495
    
    /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:532:20: warning: Access to field 'Row' results in a dereference of a null pointer (loaded from variable 'pColumn') [clang-analyzer-core.NullDereference]
     1: Assuming 'Matrix' is not equal to null in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     2: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     3: expanded from macro 'assert' in /usr/include/assert.h:98
     4: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     5: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     6: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     7: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:64
     8: expanded from macro 'assert' in /usr/include/assert.h:98
     9: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    10: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    11: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    12: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:65
    13: expanded from macro 'assert' in /usr/include/assert.h:98
    14: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    15: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    16: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    17: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:66
    18: expanded from macro 'assert' in /usr/include/assert.h:98
    19: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    20: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    21: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    22: expanded from macro 'assert' in /usr/include/assert.h:98
    23: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    24: expanded from macro 'assert' in /usr/include/assert.h:98
    25: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    26: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    27: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:354
    28: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:354
    29: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:355
    30: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:355
    31: Calling 'FactorComplexMatrix' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:356
    32: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:465
    33: expanded from macro 'assert' in /usr/include/assert.h:98
    34: Assuming 'Size' is not equal to 0 in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:469
    35: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:469
    36: '?' condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:475
    37: expanded from macro 'ELEMENT_MAG' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:105
    38: expanded from macro 'ABS' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:75
    39: '?' condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:475
    40: expanded from macro 'ELEMENT_MAG' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:105
    41: expanded from macro 'ABS' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:75
    42: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:475
    43: Left side of '&&' is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:477
    44: expanded from macro 'CMPLX_RECIPROCAL' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:350
    45: Left side of '&&' is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:477
    46: expanded from macro 'CMPLX_RECIPROCAL' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:351
    47: Assuming 'Step' is <= 'Size' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:480
    48: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:480
    49: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:481
    50: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:481
    51: Assuming 'pElement' is equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:525
    52: Loop condition is false. Execution continues on line 531 in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:525
    53: Null pointer value stored to 'pColumn' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:531
    54: Access to field 'Row' results in a dereference of a null pointer (loaded from variable 'pColumn') in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:532
    
    /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:646:16: warning: Access to field 'Row' results in a dereference of a null pointer (loaded from variable 'pColumn') [clang-analyzer-core.NullDereference]
     1: Assuming 'Matrix' is not equal to null in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     2: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     3: expanded from macro 'assert' in /usr/include/assert.h:98
     4: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     5: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     6: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     7: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:64
     8: expanded from macro 'assert' in /usr/include/assert.h:98
     9: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    10: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    11: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    12: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:65
    13: expanded from macro 'assert' in /usr/include/assert.h:98
    14: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    15: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    16: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    17: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:66
    18: expanded from macro 'assert' in /usr/include/assert.h:98
    19: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    20: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    21: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    22: expanded from macro 'assert' in /usr/include/assert.h:98
    23: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    24: expanded from macro 'assert' in /usr/include/assert.h:98
    25: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    26: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    27: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:354
    28: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:354
    29: Calling 'spPartition' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:354
    30: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:606
    31: expanded from macro 'IS_SPARSE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:61
    32: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:606
    33: expanded from macro 'assert' in /usr/include/assert.h:98
    34: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:607
    35: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:614
    36: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:615
    37: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:621
    38: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:628
    39: expanded from macro 'assert' in /usr/include/assert.h:98
    40: Assuming 'Step' is <= 'Size' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:636
    41: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:636
    42: Assuming 'pElement' is equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:640
    43: Loop condition is false. Execution continues on line 645 in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:640
    44: Null pointer value stored to 'pColumn' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:645
    45: Access to field 'Row' results in a dereference of a null pointer (loaded from variable 'pColumn') in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:646
    
    /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1137:28: warning: Access to field 'Real' results in a dereference of a null pointer (loaded from variable 'ChosenPivot') [clang-analyzer-core.NullDereference]
     1: expanded from macro 'ELEMENT_MAG' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:105
     2: expanded from macro 'ABS' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:75
     3: Assuming 'Matrix' is not equal to null in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     4: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     5: expanded from macro 'assert' in /usr/include/assert.h:98
     6: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     7: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     8: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     9: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:64
    10: expanded from macro 'assert' in /usr/include/assert.h:98
    11: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    12: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    13: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    14: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:65
    15: expanded from macro 'assert' in /usr/include/assert.h:98
    16: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    17: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    18: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    19: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:66
    20: expanded from macro 'assert' in /usr/include/assert.h:98
    21: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    22: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    23: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    24: expanded from macro 'assert' in /usr/include/assert.h:98
    25: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    26: expanded from macro 'assert' in /usr/include/assert.h:98
    27: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    28: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    29: Calling 'spOrderAndFactor' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:351
    30: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    31: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    32: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    33: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    34: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    35: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    36: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    37: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    38: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    39: expanded from macro 'assert' in /usr/include/assert.h:98
    40: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:213
    41: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:215
    42: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:218
    43: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:223
    44: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:259
    45: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:259
    46: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:261
    47: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:261
    48: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:263
    49: Assuming 'Step' is <= 'Size' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:273
    50: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:273
    51: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:276
    52: expanded from macro 'INCRESP' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:71
    53: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:276
    54: expanded from macro 'INCRESP' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:67
    55: Calling 'SearchForPivot' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:278
    56: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:972
    57: Calling 'SearchForSingleton' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:973
    58: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1082
    59: Loop condition is false. Execution continues on line 1112 in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1104
    60: Assuming 'I' is >= 'Step' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1115
    61: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1115
    62: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1116
    63: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1116
    64: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1119
    65: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1119
    66: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1129
    67: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1129
    68: Value assigned to 'ChosenPivot' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1130
    69: Assuming 'ChosenPivot' is equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1131
    70: Left side of '&&' is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1131
    71: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1133
    72: Access to field 'Real' results in a dereference of a null pointer (loaded from variable 'ChosenPivot') in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1137
    73: expanded from macro 'ELEMENT_MAG' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:105
    74: expanded from macro 'ABS' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:75
    
    /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1171:28: warning: Access to field 'Real' results in a dereference of a null pointer (loaded from variable 'ChosenPivot') [clang-analyzer-core.NullDereference]
     1: expanded from macro 'ELEMENT_MAG' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:105
     2: expanded from macro 'ABS' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:75
     3: Assuming 'Matrix' is not equal to null in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     4: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     5: expanded from macro 'assert' in /usr/include/assert.h:98
     6: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     7: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     8: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     9: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:64
    10: expanded from macro 'assert' in /usr/include/assert.h:98
    11: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    12: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    13: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    14: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:65
    15: expanded from macro 'assert' in /usr/include/assert.h:98
    16: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    17: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    18: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    19: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:66
    20: expanded from macro 'assert' in /usr/include/assert.h:98
    21: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    22: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    23: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    24: expanded from macro 'assert' in /usr/include/assert.h:98
    25: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    26: expanded from macro 'assert' in /usr/include/assert.h:98
    27: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    28: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    29: Calling 'spOrderAndFactor' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:351
    30: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    31: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    32: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    33: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    34: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    35: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    36: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    37: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    38: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    39: expanded from macro 'assert' in /usr/include/assert.h:98
    40: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:213
    41: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:215
    42: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:218
    43: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:223
    44: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:259
    45: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:259
    46: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:261
    47: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:261
    48: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:263
    49: Assuming 'Step' is <= 'Size' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:273
    50: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:273
    51: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:276
    52: expanded from macro 'INCRESP' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:71
    53: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:276
    54: expanded from macro 'INCRESP' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:67
    55: Calling 'SearchForPivot' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:278
    56: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:972
    57: Calling 'SearchForSingleton' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:973
    58: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1082
    59: Loop condition is false. Execution continues on line 1112 in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1104
    60: Assuming 'I' is >= 'Step' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1115
    61: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1115
    62: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1116
    63: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1116
    64: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1119
    65: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1119
    66: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1129
    67: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1129
    68: Value assigned to 'ChosenPivot' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1164
    69: Assuming 'ChosenPivot' is equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1165
    70: Left side of '&&' is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1165
    71: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1167
    72: Access to field 'Real' results in a dereference of a null pointer (loaded from variable 'ChosenPivot') in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1171
    73: expanded from macro 'ELEMENT_MAG' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:105
    74: expanded from macro 'ABS' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:75
    
    /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1947:9: warning: Access to field 'Row' results in a dereference of a null pointer (loaded from variable 'pElement') [clang-analyzer-core.NullDereference]
     1: Assuming 'Matrix' is not equal to null in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     2: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     3: expanded from macro 'assert' in /usr/include/assert.h:98
     4: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     5: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
     6: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
     7: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:64
     8: expanded from macro 'assert' in /usr/include/assert.h:98
     9: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    10: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    11: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    12: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:65
    13: expanded from macro 'assert' in /usr/include/assert.h:98
    14: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    15: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    16: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    17: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:66
    18: expanded from macro 'assert' in /usr/include/assert.h:98
    19: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    20: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    21: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    22: expanded from macro 'assert' in /usr/include/assert.h:98
    23: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:348
    24: expanded from macro 'assert' in /usr/include/assert.h:98
    25: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    26: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:350
    27: Calling 'spOrderAndFactor' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:351
    28: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    29: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    30: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    31: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    32: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    33: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    34: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    35: expanded from macro 'IS_VALID' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:63
    36: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:209
    37: expanded from macro 'assert' in /usr/include/assert.h:98
    38: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:213
    39: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:215
    40: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:218
    41: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:223
    42: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:259
    43: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:259
    44: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:261
    45: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:261
    46: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:263
    47: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:273
    48: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:276
    49: expanded from macro 'INCRESP' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:71
    50: Loop condition is false.  Exiting loop in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:276
    51: expanded from macro 'INCRESP' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:67
    52: Calling 'SearchForPivot' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:278
    53: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:972
    54: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:981
    55: Calling 'QuicklySearchDiagonal' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:988
    56: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1499
    57: Loop condition is false. Execution continues on line 1504 in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1500
    58: Assuming 'I' is >= 'Step' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1507
    59: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1507
    60: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1508
    61: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1508
    62: Assuming the condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1510
    63: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1510
    64: '?' condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1512
    65: expanded from macro 'ELEMENT_MAG' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:105
    66: expanded from macro 'ABS' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:75
    67: '?' condition is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1512
    68: expanded from macro 'ELEMENT_MAG' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:105
    69: expanded from macro 'ABS' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:75
    70: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1512
    71: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1515
    72: Assuming 'pOtherInRow' is not equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1521
    73: Left side of '&&' is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1521
    74: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1538
    75: Assuming 'pOtherInCol' is equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1538
    76: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1538
    77: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1499
    78: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1500
    79: Loop condition is false. Execution continues on line 1504 in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1500
    80: Assuming 'I' is < 'Step' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1507
    81: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1507
    82:  Execution continues on line 1554 in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1507
    83: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1554
    84: Calling 'FindBiggestInColExclude' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1555
    85: Value assigned to 'pElement' in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1940
    86: Assuming 'pElement' is equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1943
    87: Left side of '&&' is false in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1943
    88: Access to field 'Row' results in a dereference of a null pointer (loaded from variable 'pElement') in /opt/ngspice-ngspice/src/maths/sparse/spfactor.c:1947
    
    /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:173:9: warning: Potential leak of memory pointed to by 'pImagElements' [clang-analyzer-unix.Malloc]
     1: Assuming 'Matrix' is not equal to null in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:151
     2: expanded from macro 'IS_SPARSE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:61
     3: expanded from macro 'assert' in /usr/include/assert.h:98
     4: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:151
     5: expanded from macro 'IS_SPARSE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:61
     6: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:151
     7: expanded from macro 'IS_SPARSE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:62
     8: expanded from macro 'assert' in /usr/include/assert.h:98
     9: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:151
    10: expanded from macro 'assert' in /usr/include/assert.h:98
    11: Memory is allocated in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:153
    12: expanded from macro 'SP_CALLOC' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:383
    13: Assuming 'pImagElements' is not equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:154
    14: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:154
    15: Assuming 'PrintOrdToIntRowMap' is equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:169
    16: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:169
    17: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:172
    18: expanded from macro 'SP_FREE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:375
    19: Potential leak of memory pointed to by 'pImagElements' in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:173
    
    /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:181:9: warning: Potential leak of memory pointed to by 'PrintOrdToIntRowMap' [clang-analyzer-unix.Malloc]
     1: Assuming 'Matrix' is not equal to null in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:151
     2: expanded from macro 'IS_SPARSE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:61
     3: expanded from macro 'assert' in /usr/include/assert.h:98
     4: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:151
     5: expanded from macro 'IS_SPARSE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:61
     6: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:151
     7: expanded from macro 'IS_SPARSE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:62
     8: expanded from macro 'assert' in /usr/include/assert.h:98
     9: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:151
    10: expanded from macro 'assert' in /usr/include/assert.h:98
    11: Assuming 'pImagElements' is not equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:154
    12: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:154
    13: Memory is allocated in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:168
    14: expanded from macro 'SP_CALLOC' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:383
    15: Assuming 'PrintOrdToIntRowMap' is not equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:169
    16: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:169
    17: Assuming 'PrintOrdToIntColMap' is equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:176
    18: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:176
    19: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:179
    20: expanded from macro 'SP_FREE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:375
    21: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:180
    22: expanded from macro 'SP_FREE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:375
    23: Potential leak of memory pointed to by 'PrintOrdToIntRowMap' in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:181
    
    /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:383:5: warning: Potential leak of memory pointed to by 'PrintOrdToIntColMap' [clang-analyzer-unix.Malloc]
     1: expanded from macro 'SP_FREE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:375
     2: Assuming 'Matrix' is not equal to null in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:151
     3: expanded from macro 'IS_SPARSE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:61
     4: expanded from macro 'assert' in /usr/include/assert.h:98
     5: Left side of '&&' is true in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:151
     6: expanded from macro 'IS_SPARSE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:61
     7: Assuming the condition is true in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:151
     8: expanded from macro 'IS_SPARSE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:62
     9: expanded from macro 'assert' in /usr/include/assert.h:98
    10: '?' condition is true in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:151
    11: expanded from macro 'assert' in /usr/include/assert.h:98
    12: Assuming 'pImagElements' is not equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:154
    13: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:154
    14: Assuming 'PrintOrdToIntRowMap' is not equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:169
    15: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:169
    16: Memory is allocated in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:175
    17: expanded from macro 'SP_CALLOC' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:383
    18: Assuming 'PrintOrdToIntColMap' is not equal to NULL in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:176
    19: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:176
    20: Assuming 'I' is > 'Size' in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:183
    21: Loop condition is false. Execution continues on line 190 in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:183
    22: Assuming 'I' is > 'Top' in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:190
    23: Loop condition is false. Execution continues on line 195 in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:190
    24: Loop condition is false. Execution continues on line 202 in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:195
    25: Assuming 'Header' is 0 in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:202
    26: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:202
    27: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:221
    28: Assuming 'Data' is 0 in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:222
    29: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:222
    30: Assuming 'J' is > 'Size' in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:227
    31: Loop condition is false. Execution continues on line 343 in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:227
    32: Taking false branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:343
    33: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:382
    34: expanded from macro 'SP_FREE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:375
    35: Taking true branch in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:383
    36: expanded from macro 'SP_FREE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:375
    37: Potential leak of memory pointed to by 'PrintOrdToIntColMap' in /opt/ngspice-ngspice/src/maths/sparse/spoutput.c:383
    38: expanded from macro 'SP_FREE' in /opt/ngspice-ngspice/src/maths/sparse/spdefs.h:375
    
     
  • Ferdy

    Ferdy - 2020-07-27

    Here the final ones from misc and xspice. Thanks for taking a look.

    /opt/ngspice-ngspice/src/misc/dstring.c:275:16: warning: Initialized va_list 'p_arg2' is leaked [clang-analyzer-valist.Unterminated]
     1: expanded from macro 'DS_E_INVALID' in /usr/local/include/ngspice/dstring.h:16
     2: Calling 'ds_cat_vprintf' in /opt/ngspice-ngspice/src/misc/dstring.c:251
     3: Initialized va_list in /opt/ngspice-ngspice/src/misc/dstring.c:270
     4: expanded from macro 'va_copy' in /opt/Qt/Tools/QtCreator/libexec/qtcreator/clang/lib/clang/8.0.1/include/stdarg.h:43
     5: Assuming 'rc' is < 0 in /opt/ngspice-ngspice/src/misc/dstring.c:274
     6: Taking true branch in /opt/ngspice-ngspice/src/misc/dstring.c:274
     7: Initialized va_list 'p_arg2' is leaked in /opt/ngspice-ngspice/src/misc/dstring.c:275
     8: expanded from macro 'DS_E_INVALID' in /usr/local/include/ngspice/dstring.h:16
    
    /opt/ngspice-ngspice/src/ngmultidec.c:49:18: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
     1: Assuming 'argc' is > 0 in /opt/ngspice-ngspice/src/ngmultidec.c:46
     2: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ngmultidec.c:46
     3: Assuming the condition is true in /opt/ngspice-ngspice/src/ngmultidec.c:49
     4: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ngmultidec.c:49
     5: Assuming the condition is false in /opt/ngspice-ngspice/src/ngmultidec.c:50
     6: Taking false branch in /opt/ngspice-ngspice/src/ngmultidec.c:50
     7: Assuming 'argc' is not equal to 0 in /opt/ngspice-ngspice/src/ngmultidec.c:52
     8: Taking true branch in /opt/ngspice-ngspice/src/ngmultidec.c:52
     9: Control jumps to 'case 110:'  at line 100 in /opt/ngspice-ngspice/src/ngmultidec.c:58
    10:  Execution continues on line 116 in /opt/ngspice-ngspice/src/ngmultidec.c:104
    11: Taking true branch in /opt/ngspice-ngspice/src/ngmultidec.c:116
    12: Taking false branch in /opt/ngspice-ngspice/src/ngmultidec.c:117
    13: Assuming 'optarg' is null in /opt/ngspice-ngspice/src/ngmultidec.c:119
    14: Taking false branch in /opt/ngspice-ngspice/src/ngmultidec.c:119
    15: Loop condition is false. Execution continues on line 46 in /opt/ngspice-ngspice/src/ngmultidec.c:49
    16: Assuming 'argc' is > 0 in /opt/ngspice-ngspice/src/ngmultidec.c:46
    17: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ngmultidec.c:46
    18: Null pointer value stored to 's' in /opt/ngspice-ngspice/src/ngmultidec.c:49
    19: Dereference of null pointer in /opt/ngspice-ngspice/src/ngmultidec.c:49
    
    /opt/ngspice-ngspice/src/ngmultidec.c:60:23: warning: Null pointer passed as an argument to a 'nonnull' parameter [clang-analyzer-core.NonNullParamChecker]
     1: expanded from macro 'TMALLOC' in /usr/local/include/ngspice/memory.h:6
     2: Assuming 'argc' is > 0 in /opt/ngspice-ngspice/src/ngmultidec.c:46
     3: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ngmultidec.c:46
     4: Assuming the condition is true in /opt/ngspice-ngspice/src/ngmultidec.c:49
     5: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/ngmultidec.c:49
     6: Assuming the condition is false in /opt/ngspice-ngspice/src/ngmultidec.c:50
     7: Taking false branch in /opt/ngspice-ngspice/src/ngmultidec.c:50
     8: Assuming 'argc' is 0 in /opt/ngspice-ngspice/src/ngmultidec.c:52
     9: Taking false branch in /opt/ngspice-ngspice/src/ngmultidec.c:52
    10: Null pointer value stored to 'optarg' in /opt/ngspice-ngspice/src/ngmultidec.c:55
    11: Control jumps to 'case 111:'  at line 59 in /opt/ngspice-ngspice/src/ngmultidec.c:58
    12: Null pointer passed as an argument to a 'nonnull' parameter in /opt/ngspice-ngspice/src/ngmultidec.c:60
    13: expanded from macro 'TMALLOC' in /usr/local/include/ngspice/memory.h:6
    
    /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:867:8: warning: Potential leak of memory pointed to by 'p_dst' [clang-analyzer-unix.Malloc]
     1: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:156
     2: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:162
     3: Assuming 'status' is equal to 0 in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:168
     4: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:168
     5: Calling 'read_node_names' in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:173
     6: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:813
     7: Assuming 'n_byte_needed' is < 'n' in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:815
     8: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:815
     9: Loop condition is false. Execution continues on line 819 in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:813
    10: Assuming the condition is true in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:820
    11: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:820
    12: Memory is allocated in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:821
    13: Assuming the condition is false in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:821
    14: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:821
    15: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:833
    16: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:841
    17: Assuming the condition is true in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:843
    18: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:843
    19:  Execution continues on line 849 in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:844
    20: Assuming 'status' is equal to 0 in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:857
    21: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:857
    22: Loop condition is false. Execution continues on line 867 in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:833
    23: Potential leak of memory pointed to by 'p_dst' in /opt/ngspice-ngspice/src/xspice/cmpp/pp_lst.c:867
    
    /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1224:34: warning: Attempt to free released memory [clang-analyzer-unix.Malloc]
     1: Assuming the condition is false in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:108
     2: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:108
     3: Assuming 'fp' is not equal to NULL in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:114
     4: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:114
     5: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:121
     6: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:128
     7: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:135
     8: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:142
     9: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:149
    10: Calling 'write_param_info' in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:156
    11: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:692
    12: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:707
    13: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:720
    14: Calling 'value_to_str' in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:721
    15: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1191
    16: Memory is allocated in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1192
    17: Assuming the condition is false in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1192
    18: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1192
    19: Control jumps to 'case CMPP_STRING:'  at line 1219 in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1199
    20: Assuming the condition is true in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1222
    21: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1222
    22: Memory is released in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1224
    23: Assuming 'p' is equal to NULL in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1225
    24: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1225
    25: Memory is released in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1229
    26: Returning; memory was released in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:721
    27: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:729
    28: Calling 'value_to_str' in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:730
    29: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1191
    30: Control jumps to 'case CMPP_STRING:'  at line 1219 in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1199
    31: Assuming the condition is true in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1222
    32: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1222
    33: Attempt to free released memory in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1224
    
    /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1236:13: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
     1: Assuming the condition is false in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:108
     2: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:108
     3: Assuming 'fp' is not equal to NULL in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:114
     4: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:114
     5: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:121
     6: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:128
     7: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:135
     8: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:142
     9: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:149
    10: Calling 'write_param_info' in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:156
    11: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:692
    12: Loop condition is true.  Entering loop body in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:707
    13: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:720
    14: Calling 'value_to_str' in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:721
    15: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1191
    16: Memory is allocated in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1192
    17: Assuming the condition is false in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1192
    18: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1192
    19: Control jumps to 'case CMPP_STRING:'  at line 1219 in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1199
    20: Assuming the condition is true in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1222
    21: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1222
    22: Memory is released in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1224
    23: Assuming 'p' is equal to NULL in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1225
    24: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1225
    25: Memory is released in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1229
    26: Returning; memory was released in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:721
    27: Taking true branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:729
    28: Calling 'value_to_str' in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:730
    29: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1191
    30: Control jumps to 'case CMPP_STRING:'  at line 1219 in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1199
    31: Assuming the condition is false in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1222
    32: Taking false branch in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1222
    33: Use of memory after it is freed in /opt/ngspice-ngspice/src/xspice/cmpp/writ_ifs.c:1236
    
     
  • Holger Vogt

    Holger Vogt - 2020-07-27

    Would have been better to put all this into a text file, zip it and then post it here. That would save tons of memory.

     
  • Ferdy

    Ferdy - 2020-07-27

    Sorry about that. Didn't notice it became so big.

    In case someone wants to reproduce this error report, it can be done so by:

    • Go to https://www.qt.io/download
    • Click on Go Open Source
    • Click on Download Linux Online Installer
    • Make it executable and run it
    • Only Install Qt Creator (leave all the other options unclicked, Qt not needed) specify /opt/Qt/ as directory
    • cd /opt
    • git clone https://git.code.sf.net/p/ngspice/ngspice ngspice-ngspice
    • cd ngspice-ngspice
    • ./autogen.sh
    • ./configure --with-x --with-readline=yes
    • /opt/Qt/Tools/QtCreator/bin/qtcreator
    • File, New File or Project
    • Import Project, Import Existing Project, Choose
    • Select ngspice-ngspice folder, Name it as ngspice, Ok, Click to Mark All Subfiles
    • Click on Build
    • Click on Run, select src/ngspice as executable
    • Click F5, then switch on dropdown list from Debugger to Clang Tidy and Clazy
    • Click Run analyzer
     
  • Bohdan T.

    Bohdan T. - 2020-08-16

    Hi guys!
    It is enough to install clang-tools and run scan-build make after configuring the project.
    After it you will have .html file with all reports with quick clickable links. QtCreator is actually just GUI for a single command here.

    example:

    @h_vogt , if it will be helpful - I can scan pre-master with some configuration for errors.

     
    ❤️
    1
  • Bohdan T.

    Bohdan T. - 2020-08-16

    Please, feel free to download the report. It is too large for sourceforge, so if you don't mind - i've uploaded it to GoogleDrive. The link is HERE
    All you need is to open index.html.
    Hope it will run correctly on your machine

    Regards,
    Bohdan.

     
    ❤️
    1

Log in to post a comment.

MongoDB Logo MongoDB