Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Jul 2001 19:24:11 +1000 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Dag-Erling Smorgrav <des@ofug.org>
Cc:        Peter Pentchev <roam@orbitel.bg>, Mike Barcroft <mike@q9media.com>, David Malone <dwmalone@maths.tcd.ie>, audit@FreeBSD.ORG
Subject:   Re: inetd(8) warns patch
Message-ID:  <Pine.BSF.4.21.0107181917150.94866-100000@besplex.bde.org>
In-Reply-To: <xzpr8vf1gve.fsf@flood.ping.uio.no>

next in thread | previous in thread | raw e-mail | index | archive | help
On 17 Jul 2001, Dag-Erling Smorgrav wrote:

> Peter Pentchev <roam@orbitel.bg> writes:
> > Basically, the problem is that although writev(2) doesn't need to write
> > to the buffer pointed to in its iov parameter, readv(2) does.
> 
> You can work around this by casting the LHS to (const char *):
> 
>      (const char *)iov[n].iov_base = str;
>      iov[n].iov_len = len;

Only if you are not writing in C.  E.g., this is just a syntax error
according to TenDRA:

Script started on Wed Jul 18 19:17:01 2001
ttyv2:bde@besplex:/tmp> cat z.c
#include <sys/types.h>
#include <sys/uio.h>

struct iovec iov[1];
char *str;
size_t len;
const int n = 1;

void
test(void)
{
	(const char *)iov[n].iov_base = str;
	iov[n].iov_len = len;
}
ttyv2:bde@besplex:/tmp> tcc -Ysystem -c z.c
"z.c", line 12: Error:
  [Syntax]: Parse error before '='.
  [Syntax]: Can't recover from this error.

ttyv2:bde@besplex:/tmp> exit

Script done on Wed Jul 18 19:17:09 2001

Bruce


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-audit" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0107181917150.94866-100000>