svn commit: r331084 - stable/11/bin/dd
Eitan Adler
eadler at FreeBSD.org
Sat Mar 17 03:00:25 UTC 2018
Author: eadler
Date: Sat Mar 17 03:00:24 2018
New Revision: 331084
URL: https://svnweb.freebsd.org/changeset/base/331084
Log:
MFC r328427:
dd(1): Use a local swapbytes() function.
swab(3) has restrict qualifiers for src and dst.
Avoid relying on undefined overlapping swab behavior.
Obtained From: OpenBSD
Modified:
stable/11/bin/dd/dd.c
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/bin/dd/dd.c
==============================================================================
--- stable/11/bin/dd/dd.c Sat Mar 17 01:48:27 2018 (r331083)
+++ stable/11/bin/dd/dd.c Sat Mar 17 03:00:24 2018 (r331084)
@@ -303,6 +303,21 @@ speed_limit(void)
}
static void
+swapbytes(void *v, size_t len)
+{
+ unsigned char *p = v;
+ unsigned char t;
+
+ while (len > 1) {
+ t = p[0];
+ p[0] = p[1];
+ p[1] = t;
+ p += 2;
+ len -= 2;
+ }
+}
+
+static void
dd_in(void)
{
ssize_t n;
@@ -402,7 +417,7 @@ dd_in(void)
++st.swab;
--n;
}
- swab(in.dbp, in.dbp, (size_t)n);
+ swapbytes(in.dbp, (size_t)n);
}
in.dbp += in.dbrcnt;
More information about the svn-src-stable-11
mailing list