Also, why is fs on line 390 cast to char* when afree() takes void*?
Index: emacs.c
===================================================================
RCS file: /cvs/src/bin/ksh/emacs.c,v
retrieving revision 1.50
diff -u -p -r1.50 emacs.c
--- emacs.c 25 Mar 2015 12:10:52 -0000 1.50
+++ emacs.c 31 Aug 2015 04:02:29 -0000
@@ -1307,8 +1307,7 @@ static void
kb_del(struct kb_entry *k)
{
TAILQ_REMOVE(&kblist, k, entry);
- if (k->args)
- free(k->args);
+ free(k->args);
afree(k, AEDIT);
}
Index: var.c
===================================================================
RCS file: /cvs/src/bin/ksh/var.c,v
retrieving revision 1.42
diff -u -p -r1.42 var.c
--- var.c 19 Aug 2015 16:05:46 -0000 1.42
+++ var.c 31 Aug 2015 04:02:29 -0000
@@ -385,8 +385,7 @@ setstr(struct tbl *vq, const char *s, in
vq->flag |= ISSET;
if ((vq->flag&SPECIAL))
setspec(vq);
- if (fs)
- afree((char *)fs, ATEMP);
+ afree((char *)fs, ATEMP);
return 1;
}
@@ -576,8 +575,7 @@ export(struct tbl *vp, const char *val)
*xp++ = '=';
vp->type = xp - vp->val.s; /* offset to value */
memcpy(xp, val, vallen);
- if (op != NULL)
- afree((void*)op, vp->areap);
+ afree((void*)op, vp->areap);
}
/*
@@ -704,8 +702,7 @@ typeset(const char *var, Tflag set, Tfla
t->type = 0;
}
}
- if (free_me)
- afree((void *) free_me, t->areap);
+ afree((void *) free_me, t->areap);
}
}
if (!ok)
@@ -952,8 +949,7 @@ setspec(struct tbl *vp)
switch (special(vp->name)) {
case V_PATH:
- if (path)
- afree(path, APERM);
+ afree(path, APERM);
path = str_save(str_val(vp), APERM);
flushcom(1); /* clear tracked aliases */
break;
@@ -1059,8 +1055,7 @@ unsetspec(struct tbl *vp)
{
switch (special(vp->name)) {
case V_PATH:
- if (path)
- afree(path, APERM);
+ afree(path, APERM);
path = str_save(def_path, APERM);
flushcom(1); /* clear tracked aliases */
break;