diff options
author | pfg <pfg@FreeBSD.org> | 2016-07-17 18:23:20 +0000 |
---|---|---|
committer | pfg <pfg@FreeBSD.org> | 2016-07-17 18:23:20 +0000 |
commit | f86d1a3dbbdb391158820c0c8db3e5025aae4e8a (patch) | |
tree | 0a380ac7ad63c7676f17878854ac9a5404cdba6d /usr.bin | |
parent | 28d241d005a3716a0d066b62af5efd1cfb66e6a0 (diff) | |
download | FreeBSD-src-f86d1a3dbbdb391158820c0c8db3e5025aae4e8a.zip FreeBSD-src-f86d1a3dbbdb391158820c0c8db3e5025aae4e8a.tar.gz |
MFC r302511, r302771, r302845:
mail(1): check for out of memory conditions when calling calloc(3).
Approved by: re (gjb)
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/mail/cmd3.c | 9 | ||||
-rw-r--r-- | usr.bin/mail/vars.c | 3 |
2 files changed, 8 insertions, 4 deletions
diff --git a/usr.bin/mail/cmd3.c b/usr.bin/mail/cmd3.c index 9308ad3..11954d1 100644 --- a/usr.bin/mail/cmd3.c +++ b/usr.bin/mail/cmd3.c @@ -463,7 +463,8 @@ group(char **argv) gname = *argv; h = hash(gname); if ((gh = findgroup(gname)) == NULL) { - gh = calloc(sizeof(*gh), 1); + if ((gh = calloc(1, sizeof(*gh))) == NULL) + err(1, "Out of memory"); gh->g_name = vcopy(gname); gh->g_list = NULL; gh->g_link = groups[h]; @@ -477,7 +478,8 @@ group(char **argv) */ for (ap = argv+1; *ap != NULL; ap++) { - gp = calloc(sizeof(*gp), 1); + if ((gp = calloc(1, sizeof(*gp))) == NULL) + err(1, "Out of memory"); gp->ge_name = vcopy(*ap); gp->ge_link = gh->g_list; gh->g_list = gp; @@ -702,7 +704,8 @@ alternates(char **namelist) } if (altnames != 0) (void)free(altnames); - altnames = calloc((unsigned)c, sizeof(char *)); + if ((altnames = calloc((unsigned)c, sizeof(char *))) == NULL) + err(1, "Out of memory"); for (ap = namelist, ap2 = altnames; *ap != NULL; ap++, ap2++) { cp = calloc((unsigned)strlen(*ap) + 1, sizeof(char)); strcpy(cp, *ap); diff --git a/usr.bin/mail/vars.c b/usr.bin/mail/vars.c index dca0604..f3c6659 100644 --- a/usr.bin/mail/vars.c +++ b/usr.bin/mail/vars.c @@ -56,7 +56,8 @@ assign(const char *name, const char *value) h = hash(name); vp = lookup(name); if (vp == NULL) { - vp = calloc(sizeof(*vp), 1); + if ((vp = calloc(1, sizeof(*vp))) == NULL) + err(1, "Out of memory"); vp->v_name = vcopy(name); vp->v_link = variables[h]; variables[h] = vp; |