GNU bug report logs - #7362
dd strangeness

Previous Next

Package: coreutils;

Reported by: Lucia Rotger <lucia <at> aircomp.aero>

Date: Wed, 10 Nov 2010 10:26:01 UTC

Severity: normal

Done: Pádraig Brady <P <at> draigBrady.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Pádraig Brady <P <at> draigBrady.com>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 7362 <at> debbugs.gnu.org
Subject: bug#7362: dd strangeness
Date: Fri, 04 Mar 2011 22:41:59 +0000
On 04/03/11 18:04, Paul Eggert wrote:
> On 03/04/2011 02:09 AM, Pádraig Brady wrote:
>> On 04/03/11 07:44, Paul Eggert wrote:
>>> +      /* If bs=SIZE is given and iflag=fullblock is not, warn if a
>>
>> Do you check that bs= is specified?
> 
> I meant to, but I inadvertently deleted that part of the change,
> which meant that the code didn't implement the comment correctly.
> Sorry about that; see below.
> 
>> Anyway, with this patch the following slightly contrived example will
>> warn:
> 
> The following further patch, which fixes the abovementioned typo,
> should address that problem.
> 
> --- a/src/dd.c
> +++ b/src/dd.c
> @@ -814,7 +814,7 @@ iread (int fd, char *buf, size_t size)
>        static bool warned;
>        static ssize_t prev_nread;
>  
> -      if (! warned && iread_fnc == iread
> +      if (! warned && ! (conversions_mask & C_TWOBUFS) && iread_fnc ==
> iread
>            && 0 < prev_nread && prev_nread < size

Looks good!
I can't think of an example where this might erroneously warn.

>            && (skip_records
>                || (0 < max_records && max_records < (uintmax_t) -1)))

If we more aggressively warn by removing the check for the counts above,
then we would directly address http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8171
Unfortunately that would give unwanted warnings though, in some cases.

cheers,
Pádraig.




This bug report was last modified 14 years and 168 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.