#include <tic.h>
-MODULE_ID("$Id: read_entry.c,v 1.119 2012/02/22 22:40:24 tom Exp $")
+MODULE_ID("$Id: read_entry.c,v 1.121 2012/11/18 01:18:47 tom Exp $")
#define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts))
ptr->num_Numbers = UShort(NUMCOUNT + ext_num_count);
ptr->num_Strings = UShort(STRCOUNT + ext_str_count);
- ptr->Booleans = typeRealloc(NCURSES_SBOOL, ptr->num_Booleans, ptr->Booleans);
- ptr->Numbers = typeRealloc(short, ptr->num_Numbers, ptr->Numbers);
- ptr->Strings = typeRealloc(char *, ptr->num_Strings, ptr->Strings);
+ TYPE_REALLOC(NCURSES_SBOOL, ptr->num_Booleans, ptr->Booleans);
+ TYPE_REALLOC(short, ptr->num_Numbers, ptr->Numbers);
+ TYPE_REALLOC(char *, ptr->num_Strings, ptr->Strings);
TR(TRACE_DATABASE, ("extended header is %d/%d/%d(%d:%d)",
ext_bool_count, ext_num_count, ext_str_count,
}
TR(TRACE_DATABASE, ("READ extended-offsets @%d", offset));
+ if ((unsigned) (ext_str_count + (int) need) >= (MAX_ENTRY_SIZE / 2))
+ return (TGETENT_NO);
if ((ext_str_count || need)
&& !read_shorts(buf, ext_str_count + (int) need))
return (TGETENT_NO);
}
if (need) {
- if (ext_str_count >= (MAX_ENTRY_SIZE * 2))
+ if (ext_str_count >= (MAX_ENTRY_SIZE / 2))
return (TGETENT_NO);
if ((ptr->ext_Names = TYPE_CALLOC(char *, need)) == 0)
return (TGETENT_NO);