svn commit: r324007 - head/usr.sbin/mountd
Emmanuel Vadot
manu at FreeBSD.org
Tue Sep 26 09:18:19 UTC 2017
Author: manu
Date: Tue Sep 26 09:18:18 2017
New Revision: 324007
URL: https://svnweb.freebsd.org/changeset/base/324007
Log:
mountd: Replace malloc+strcpy to strdup
Reviewed by: bapt
MFC after: 1 week
Sponsored by: Gandi.net
Differential Revision: https://reviews.freebsd.org/D12503
Modified:
head/usr.sbin/mountd/mountd.c
Modified: head/usr.sbin/mountd/mountd.c
==============================================================================
--- head/usr.sbin/mountd/mountd.c Tue Sep 26 09:01:56 2017 (r324006)
+++ head/usr.sbin/mountd/mountd.c Tue Sep 26 09:18:18 2017 (r324007)
@@ -101,7 +101,7 @@ struct dirlist {
struct dirlist *dp_right;
int dp_flag;
struct hostlist *dp_hosts; /* List of hosts this dir exported to */
- char dp_dirp[1]; /* Actually malloc'd to size of dir */
+ char *dp_dirp;
};
/* dp_flag bits */
#define DP_DEFSET 0x1
@@ -1525,12 +1525,8 @@ get_exportlist_one(void)
if (ep == (struct exportlist *)NULL) {
ep = get_exp();
ep->ex_fs = fsb.f_fsid;
- ep->ex_fsdir = (char *)malloc
- (strlen(fsb.f_mntonname) + 1);
- if (ep->ex_fsdir)
- strcpy(ep->ex_fsdir,
- fsb.f_mntonname);
- else
+ ep->ex_fsdir = strdup(fsb.f_mntonname);
+ if (ep->ex_fsdir == NULL)
out_of_mem();
if (debug)
warnx(
@@ -1940,14 +1936,16 @@ add_expdir(struct dirlist **dpp, char *cp, int len)
{
struct dirlist *dp;
- dp = (struct dirlist *)malloc(sizeof (struct dirlist) + len);
+ dp = (struct dirlist *)malloc(sizeof (struct dirlist));
if (dp == (struct dirlist *)NULL)
out_of_mem();
dp->dp_left = *dpp;
dp->dp_right = (struct dirlist *)NULL;
dp->dp_flag = 0;
dp->dp_hosts = (struct hostlist *)NULL;
- strcpy(dp->dp_dirp, cp);
+ dp->dp_dirp = strndup(cp, len);
+ if (dp->dp_dirp == NULL)
+ out_of_mem();
*dpp = dp;
return (dp->dp_dirp);
}
More information about the svn-src-all
mailing list