bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bash sockets: printf \x0a does TCP fragmentation


From: L A Walsh
Subject: Re: bash sockets: printf \x0a does TCP fragmentation
Date: Tue, 25 Sep 2018 05:15:02 -0700
User-agent: Thunderbird



On 9/24/2018 6:05 AM, Greg Wooledge wrote:
On Sat, Sep 22, 2018 at 11:50:17AM +0200, address@hidden wrote:
On 9/22/18 7:30 AM, Bob Proulx wrote:
address@hidden wrote:
printf -- "$data" >&5 2>/dev/null
What happens if $data contains % format strings?  What happens if the
format contains a sequence such as \c?  This looks problematic.  This
is not a safe programming proctice.

Looking ONLY at this one line, there is an obvious bug, which Bob has
pointed out.  It should be

printf %s "$data" >&5 2>/dev/null
----
   This brings to mind a consideration:
As %s says to print a string of data (presumably not
including a NUL byte), then what happens if "$data" is
a paragraph of text with embedded newlines.  In that case,
it sounds like bash might break apart the single printf
output into smaller packets rather than transmitting the
entirety of "$data" in 1 write (presuming it is less than
the maximum data size for a network packet).

   Also, if you want to flush the data out at the end, it seems
"%s\n" would be required to force out the last line of text if
it wasn't nl terminated.

That is utterly horrifying.
---
   Hmmm....I didn't realize how sensitive some sensibilities were...
:-)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]