[Bug 224552] 'od -c' show wrong char when it is a non-printable
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sat Dec 23 19:14:49 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224552
Bug ID: 224552
Summary: 'od -c' show wrong char when it is a non-printable
Product: Base System
Version: 11.1-RELEASE
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: bin
Assignee: freebsd-bugs at FreeBSD.org
Reporter: pru13allan at telia.com
The command 'od -c' show the wrong last character on each line if it is a
non-printable in the current language (LANG)
Tested with LANG=sv_SE.UTF-8 on:
FreeBSD fsbd1 10.3-RELEASE-p24 FreeBSD 10.3-RELEASE-p24 #0: Wed Nov 15 04:57:40
UTC 2017
root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
FreeBSD fbsd2 11.1-RELEASE-p4 FreeBSD 11.1-RELEASE-p4 #0: Tue Nov 14 06:05:10
UTC 2017
root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386
FreeBSD rpi1 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r320146M: Tue Jun 20 09:59:03
MDT 2017
raspberry at hive.raspbsd.org:/usr/home/brd/rpi3/crochet/work/obj/arm64.aarch64/usr/src/sys/GENERIC
arm64
Steps to reproduce:
This is OK
[root]# printf 'abcde\345\344\366\374\351\305\304\326\334\311\n' | od -c
0000000 a b c d e 345 344 366 374 351 305 304 326 334 311 \n
When the string gets longer and 'od' start a new line the last octet get
scrambled.
The '012' should be '311':
[root]# printf 'Xabcde\345\344\366\374\351\305\304\326\334\311\n' | od -c
0000000 X a b c d e 345 344 366 374 351 305 304 326 334 012
0000020 \n
When the string get even longer it is obvious that 'od' is copying first char
on
second line to last char on first line:
(Last char on first line ('311') should be '334')
[root]# printf 'XYabcde\345\344\366\374\351\305\304\326\334\311\n' | od -c
0000000 X Y a b c d e 345 344 366 374 351 305 304 326 311
0000020 311 \n
If you are on a system other than UTF-8 you can get the same symptoms by
specifying LC_ALL:
printf 'XYabcde\345\344\366\374\351\305\304\326\334\311\n' | LC_ALL=en_US.UTF-8
od -c
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list