Skip to content

Commit 28c5d26

Browse files
starseekercshorler
authored andcommitted
As with BUFSIZ, make sure MAX_LEN buffers have room to null terminate.
1 parent 43231cd commit 28c5d26

8 files changed

Lines changed: 20 additions & 20 deletions

File tree

src/exp2cxx/class_strings.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ char ToUpper( char c ) {
185185
}
186186

187187
const char * StrToLower( const char * word ) {
188-
static char newword [MAX_LEN];
188+
static char newword [MAX_LEN+1];
189189
int i = 0;
190190
if( !word ) {
191191
return 0;
@@ -200,7 +200,7 @@ const char * StrToLower( const char * word ) {
200200
}
201201

202202
const char * StrToUpper( const char * word ) {
203-
static char newword [MAX_LEN];
203+
static char newword [MAX_LEN+1];
204204
int i = 0;
205205

206206
while( word [i] != '\0' ) {
@@ -212,7 +212,7 @@ const char * StrToUpper( const char * word ) {
212212
}
213213

214214
const char * StrToConstant( const char * word ) {
215-
static char newword[MAX_LEN];
215+
static char newword[MAX_LEN+1];
216216
int i = 0;
217217

218218
while( word [i] != '\0' ) {
@@ -229,7 +229,7 @@ const char * StrToConstant( const char * word ) {
229229
}
230230

231231
const char * FirstToUpper( const char * word ) {
232-
static char newword [MAX_LEN];
232+
static char newword [MAX_LEN+1];
233233

234234
strncpy( newword, word, MAX_LEN );
235235
newword[0] = ToUpper( newword[0] );

src/exp2cxx/classes_entity.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -827,7 +827,7 @@ void ENTITYincode_print( Entity entity, FILE * header, FILE * impl, Schema schem
827827
);
828828
} else {
829829
/* manufacture new one(s) on the spot */
830-
char typename_buf[MAX_LEN];
830+
char typename_buf[MAX_LEN+1];
831831
print_typechain( header, impl, v->type, typename_buf, schema, v->name->symbol.name );
832832
fprintf( impl, " %s::%s%d%s%s =\n new %s"
833833
"(\"%s\",%s,%s,%s%s,\n *%s::%s%s);\n",

src/exp2cxx/classes_misc.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ const char * PrettyTmpName( const char * oldname ) {
123123
/* This function is out of date DAS */
124124
const char * EnumName( const char * oldname ) {
125125
int j = 0;
126-
static char newname [MAX_LEN];
126+
static char newname [MAX_LEN+1];
127127
if( !oldname ) {
128128
return ( "" );
129129
}
@@ -139,7 +139,7 @@ const char * EnumName( const char * oldname ) {
139139

140140
const char * SelectName( const char * oldname ) {
141141
int j = 0;
142-
static char newname [MAX_LEN];
142+
static char newname [MAX_LEN+1];
143143
if( !oldname ) {
144144
return ( "" );
145145
}

src/exp2cxx/classes_type.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -832,7 +832,7 @@ void print_typechain( FILE * header, FILE * impl, const Type t, char * buf, Sche
832832

833833
const char * ctype = TYPEget_ctype( t );
834834
int count = type_count++;
835-
char name_buf[MAX_LEN];
835+
char name_buf[MAX_LEN+1];
836836
int s;
837837

838838
switch( TYPEget_body( t )->type ) {
@@ -878,7 +878,7 @@ void print_typechain( FILE * header, FILE * impl, const Type t, char * buf, Sche
878878
} else {
879879
Type base = 0;
880880
/* no name, recurse */
881-
char callee_buffer[MAX_LEN];
881+
char callee_buffer[MAX_LEN+1];
882882
if( TYPEget_body( t ) ) {
883883
base = TYPEget_body( t )->base;
884884
}

src/exp2cxx/classes_wrapper.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ void INITFileFinish( FILE * initfile, Schema schema ) {
386386
******************************************************************/
387387
void SCHEMAprint( Schema schema, FILES * files, void * complexCol, int suffix ) {
388388
int ocnt = 0;
389-
char schnm[MAX_LEN], sufnm[MAX_LEN], fnm[MAX_LEN], *np;
389+
char schnm[MAX_LEN+1], sufnm[MAX_LEN+1], fnm[MAX_LEN+1], *np;
390390
/* sufnm = schema name + suffix */
391391
FILE * libfile,
392392
* incfile,
@@ -628,7 +628,7 @@ void getMCPrint( Express express, FILE * schema_h, FILE * schema_cc ) {
628628
** Status: 24-Feb-1992 new -kcm
629629
******************************************************************/
630630
void EXPRESSPrint( Express express, ComplexCollect & col, FILES * files ) {
631-
char fnm [MAX_LEN], *np;
631+
char fnm [MAX_LEN+1], *np;
632632
const char * schnm; /* schnm is really "express name" */
633633
FILE * libfile;
634634
FILE * incfile;

src/exp2python/src/classes_misc_python.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ ToUpper( char c ) {
111111

112112
const char *
113113
StrToLower( const char * word ) {
114-
static char newword [MAX_LEN];
114+
static char newword [MAX_LEN+1];
115115
int i = 0;
116116
if( !word ) {
117117
return 0;
@@ -126,7 +126,7 @@ StrToLower( const char * word ) {
126126
}
127127

128128
const char * StrToUpper( const char * word ) {
129-
static char newword [MAX_LEN];
129+
static char newword [MAX_LEN+1];
130130
int i = 0;
131131
char ToUpper( char c );
132132

@@ -140,7 +140,7 @@ const char * StrToUpper( const char * word ) {
140140
}
141141

142142
const char * StrToConstant( const char * word ) {
143-
static char newword [MAX_LEN];
143+
static char newword [MAX_LEN+1];
144144
int i = 0;
145145

146146
while( word [i] != '\0' ) {
@@ -242,7 +242,7 @@ const char * PrettyTmpName( const char * oldname ) {
242242
/** This function is out of date DAS */
243243
const char * EnumName( const char * oldname ) {
244244
int j = 0;
245-
static char newname [MAX_LEN];
245+
static char newname [MAX_LEN+1];
246246
if( !oldname ) {
247247
return ( "" );
248248
}
@@ -258,7 +258,7 @@ const char * EnumName( const char * oldname ) {
258258

259259
const char * SelectName( const char * oldname ) {
260260
int j = 0;
261-
static char newname [MAX_LEN];
261+
static char newname [MAX_LEN+1];
262262
if( !oldname ) {
263263
return ( "" );
264264
}
@@ -274,7 +274,7 @@ const char * SelectName( const char * oldname ) {
274274
}
275275

276276
const char * FirstToUpper( const char * word ) {
277-
static char newword [MAX_LEN];
277+
static char newword [MAX_LEN+1];
278278

279279
strncpy( newword, word, MAX_LEN );
280280
newword[0] = ToUpper( newword[0] );

src/exp2python/src/classes_python.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1971,7 +1971,7 @@ int TYPEget_RefTypeVarNm( const Type t, char * buf, Schema schema ) {
19711971
void
19721972
TYPEprint_descriptions( const Type type, FILES * files, Schema schema ) {
19731973
char tdnm [BUFSIZ+1],
1974-
typename_buf [MAX_LEN],
1974+
typename_buf [MAX_LEN+1],
19751975
base [BUFSIZ+1],
19761976
nm [BUFSIZ+1];
19771977
Type i;

src/exp2python/src/classes_wrapper_python.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ void SCOPEPrint( Scope scope, FILES * files, Schema schema ) {
164164

165165
void SCHEMAprint( Schema schema, FILES * files, int suffix ) {
166166
int ocnt = 0;
167-
char schnm[MAX_LEN], sufnm[MAX_LEN], fnm[MAX_LEN], *np;
167+
char schnm[MAX_LEN+1], sufnm[MAX_LEN+1], fnm[MAX_LEN+1], *np;
168168
/* sufnm = schema name + suffix */
169169
FILE * libfile;
170170
/********** create files based on name of schema ***********/
@@ -285,7 +285,7 @@ getMCPrint( Express express, FILE * schema_h, FILE * schema_cc ) {
285285
******************************************************************/
286286
void
287287
EXPRESSPrint( Express express, FILES * files ) {
288-
char fnm [MAX_LEN];
288+
char fnm [MAX_LEN+1];
289289
const char * schnm; /* schnm is really "express name" */
290290
FILE * libfile;
291291
/* new */

0 commit comments

Comments
 (0)