ed(1): Prevent possible overflows during allocation.

Make sure the parameters used for malloc(3) can hold size_t sizes.
This should help ed(1) handle bigger data in the future.

MFC after:	2 weeks
This commit is contained in:
pfg 2016-12-12 03:46:40 +00:00
parent d68a9833c6
commit b4359fc5ce
3 changed files with 4 additions and 4 deletions

View File

@ -115,7 +115,7 @@ if (--mutex == 0) { \
/* REALLOC: assure at least a minimum size for buffer b */
#define REALLOC(b,n,i,err) \
if ((i) > (n)) { \
int ti = (n); \
size_t ti = (n); \
char *ts; \
SPL1(); \
if ((b) != NULL) { \
@ -141,7 +141,7 @@ if ((i) > (n)) { \
/* REALLOC: assure at least a minimum size for buffer b */
#define REALLOC(b,n,i,err) \
if ((i) > (n)) { \
int ti = (n); \
size_t ti = (n); \
char *ts; \
SPL1(); \
if ((ts = (char *) realloc((b), ti += max((i), MINBUFSZ))) == NULL) { \

View File

@ -146,7 +146,7 @@ int
set_active_node(line_t *lp)
{
if (active_last + 1 > active_size) {
int ti = active_size;
size_t ti = active_size;
line_t **ts;
SPL1();
#if defined(sun) || defined(NO_REALLOC_NULL)

View File

@ -1356,7 +1356,7 @@ handle_hup(int signo)
char *hup = NULL; /* hup filename */
char *s;
char ed_hup[] = "ed.hup";
int n;
size_t n;
if (!sigactive)
quit(1);