summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorpfg <pfg@FreeBSD.org>2016-12-26 16:27:01 +0000
committerpfg <pfg@FreeBSD.org>2016-12-26 16:27:01 +0000
commit7b9f32238b6641641aa210013fd40a039efdb8bd (patch)
tree8a6d4f6ea7f6fa26d480bb5b6a0d84918a4f8bcd /bin
parentdfd254d78b6b1a0637b5ade991a21f5af55d2c0f (diff)
downloadFreeBSD-src-7b9f32238b6641641aa210013fd40a039efdb8bd.zip
FreeBSD-src-7b9f32238b6641641aa210013fd40a039efdb8bd.tar.gz
MFC r309873:
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.
Diffstat (limited to 'bin')
-rw-r--r--bin/ed/ed.h4
-rw-r--r--bin/ed/glbl.c2
-rw-r--r--bin/ed/main.c2
3 files changed, 4 insertions, 4 deletions
diff --git a/bin/ed/ed.h b/bin/ed/ed.h
index 8cb8cec..597e346 100644
--- a/bin/ed/ed.h
+++ b/bin/ed/ed.h
@@ -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) { \
diff --git a/bin/ed/glbl.c b/bin/ed/glbl.c
index dfb44d2..d367798 100644
--- a/bin/ed/glbl.c
+++ b/bin/ed/glbl.c
@@ -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)
diff --git a/bin/ed/main.c b/bin/ed/main.c
index 1749314..6cb7d03 100644
--- a/bin/ed/main.c
+++ b/bin/ed/main.c
@@ -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);
OpenPOWER on IntegriCloud