-/* $OpenBSD: doas.c,v 1.3 2015/07/16 21:55:03 tedu Exp $ */
+/* $OpenBSD: doas.c,v 1.4 2015/07/16 21:57:54 deraadt Exp $ */
/*
* Copyright (c) 2015 Ted Unangst <tedu@openbsd.org>
*
if ((rule->options & KEEPENV) && !rule->envlist) {
j = arraylen(oldenvp);
envp = reallocarray(NULL, j + 1, sizeof(char *));
+ if (!envp)
+ err(1, "reallocarray");
for (i = 0; i < j; i++) {
if (!(envp[i] = strdup(oldenvp[i])))
err(1, "strdup");
-/* $OpenBSD$ */
+/* $OpenBSD: parse.y,v 1.1 2015/07/16 20:44:21 tedu Exp $ */
/*
* Copyright (c) 2015 Ted Unangst <tedu@openbsd.org>
*
rule: action ident target cmd {
struct rule *r;
r = calloc(1, sizeof(*r));
+ if (!r)
+ errx(1, "can't allocate rule");
r->action = $1.action;
r->options = $1.options;
r->envlist = $1.envlist;