Browse Source

Increase the allowable node name length from 24 to 256.

Enable safe copying, no user induced buffer overflow.
pre-master-46
Holger Vogt 2 years ago
parent
commit
b62bb20e6f
  1. 2
      src/include/ngspice/swec.h
  2. 3
      src/spicelib/devices/cpl/cplsetup.c
  3. 3
      src/spicelib/devices/txl/txlsetup.c

2
src/include/ngspice/swec.h

@ -184,7 +184,7 @@ typedef struct linked_lists_of_Bpoint{
} BPOINT, *BPOINTPTR; } BPOINT, *BPOINTPTR;
typedef struct linked_lists_of_nodeName{ typedef struct linked_lists_of_nodeName{
char id[24];
char id[256];
struct linked_lists_of_nodeName *left, *right; struct linked_lists_of_nodeName *left, *right;
NODE *nd; NODE *nd;
} NDname, *NDnamePt; } NDname, *NDnamePt;

3
src/spicelib/devices/cpl/cplsetup.c

@ -1934,7 +1934,8 @@ insert_ND(char* name, NDnamePt* ndn)
memsaved(p); memsaved(p);
p->nd = NULL; p->nd = NULL;
p->right = p->left = NULL; p->right = p->left = NULL;
strcpy(p->id, name);
strncpy(p->id, name, 255);
p->id[255] = '\0';
return(p); return(p);
} }
cmp = strcmp((*ndn)->id, name); cmp = strcmp((*ndn)->id, name);

3
src/spicelib/devices/txl/txlsetup.c

@ -1035,7 +1035,8 @@ insert_ND(char *name, NDnamePt *ndn)
p = *ndn = TMALLOC(NDname, 1); p = *ndn = TMALLOC(NDname, 1);
p->nd = NULL; p->nd = NULL;
p->right = p->left = NULL; p->right = p->left = NULL;
strcpy(p->id, name);
strncpy(p->id, name, 255);
p->id[255] = '\0';
return(p); return(p);
} }
cmp = strcmp((*ndn)->id, name); cmp = strcmp((*ndn)->id, name);

Loading…
Cancel
Save