[Top][All Lists]

[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]