mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-09 09:27:59 +00:00
Workarounds for compiling with -D_FORTIFY_SOURCE=2 (as Ubuntu does), which
doesn't like you to ignore the return value from read()/write()/etc (and apparently can't be shut up with a cast to void). [originally from svn r8614]
This commit is contained in:
parent
9c1f81dd94
commit
4bddcc2b5d
@ -43,7 +43,10 @@ static void logwrite(struct LogContext *ctx, void *data, int len)
|
||||
bufchain_add(&ctx->queue, data, len);
|
||||
} else if (ctx->state == L_OPEN) {
|
||||
assert(ctx->lgfp);
|
||||
fwrite(data, 1, len, ctx->lgfp);
|
||||
if (fwrite(data, 1, len, ctx->lgfp) < len) {
|
||||
logfclose(ctx);
|
||||
ctx->state = L_ERROR;
|
||||
}
|
||||
} /* else L_ERROR, so ignore the write */
|
||||
}
|
||||
|
||||
|
3
pscp.c
3
pscp.c
@ -178,7 +178,8 @@ int from_backend(void *frontend, int is_stderr, const char *data, int datalen)
|
||||
*/
|
||||
if (is_stderr) {
|
||||
if (len > 0)
|
||||
fwrite(data, 1, len, stderr);
|
||||
if (fwrite(data, 1, len, stderr) < len)
|
||||
/* oh well */;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
3
psftp.c
3
psftp.c
@ -2518,7 +2518,8 @@ int from_backend(void *frontend, int is_stderr, const char *data, int datalen)
|
||||
*/
|
||||
if (is_stderr) {
|
||||
if (len > 0)
|
||||
fwrite(data, 1, len, stderr);
|
||||
if (fwrite(data, 1, len, stderr) < len)
|
||||
/* oh well */;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -161,7 +161,8 @@ int verify_ssh_host_key(void *frontend, char *host, int port, char *keytype,
|
||||
newmode.c_lflag |= ECHO | ISIG | ICANON;
|
||||
tcsetattr(0, TCSANOW, &newmode);
|
||||
line[0] = '\0';
|
||||
read(0, line, sizeof(line) - 1);
|
||||
if (read(0, line, sizeof(line) - 1) <= 0)
|
||||
/* handled below */;
|
||||
tcsetattr(0, TCSANOW, &oldmode);
|
||||
}
|
||||
|
||||
@ -213,7 +214,8 @@ int askalg(void *frontend, const char *algtype, const char *algname,
|
||||
newmode.c_lflag |= ECHO | ISIG | ICANON;
|
||||
tcsetattr(0, TCSANOW, &newmode);
|
||||
line[0] = '\0';
|
||||
read(0, line, sizeof(line) - 1);
|
||||
if (read(0, line, sizeof(line) - 1) <= 0)
|
||||
/* handled below */;
|
||||
tcsetattr(0, TCSANOW, &oldmode);
|
||||
}
|
||||
|
||||
@ -266,7 +268,8 @@ int askappend(void *frontend, Filename filename,
|
||||
newmode.c_lflag |= ECHO | ISIG | ICANON;
|
||||
tcsetattr(0, TCSANOW, &newmode);
|
||||
line[0] = '\0';
|
||||
read(0, line, sizeof(line) - 1);
|
||||
if (read(0, line, sizeof(line) - 1) <= 0)
|
||||
/* handled below */;
|
||||
tcsetattr(0, TCSANOW, &oldmode);
|
||||
}
|
||||
|
||||
|
@ -513,7 +513,8 @@ int signalpipe[2];
|
||||
|
||||
void sigwinch(int signum)
|
||||
{
|
||||
write(signalpipe[1], "x", 1);
|
||||
if (write(signalpipe[1], "x", 1) <= 0)
|
||||
/* not much we can do about it */;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1030,7 +1031,9 @@ int main(int argc, char **argv)
|
||||
if (FD_ISSET(signalpipe[0], &rset)) {
|
||||
char c[1];
|
||||
struct winsize size;
|
||||
read(signalpipe[0], c, 1); /* ignore its value; it'll be `x' */
|
||||
if (read(signalpipe[0], c, 1) <= 0)
|
||||
/* ignore error */;
|
||||
/* ignore its value; it'll be `x' */
|
||||
if (ioctl(0, TIOCGWINSZ, (void *)&size) >= 0)
|
||||
back->size(backhandle, size.ws_col, size.ws_row);
|
||||
}
|
||||
|
@ -260,7 +260,8 @@ static void cleanup_utmp(void)
|
||||
|
||||
static void sigchld_handler(int signum)
|
||||
{
|
||||
write(pty_signal_pipe[1], "x", 1);
|
||||
if (write(pty_signal_pipe[1], "x", 1) <= 0)
|
||||
/* not much we can do about it */;
|
||||
}
|
||||
|
||||
#ifndef OMIT_UTMP
|
||||
@ -633,7 +634,9 @@ int pty_select_result(int fd, int event)
|
||||
int status;
|
||||
char c[1];
|
||||
|
||||
read(pty_signal_pipe[0], c, 1); /* ignore its value; it'll be `x' */
|
||||
if (read(pty_signal_pipe[0], c, 1) <= 0)
|
||||
/* ignore error */;
|
||||
/* ignore its value; it'll be `x' */
|
||||
|
||||
do {
|
||||
pid = waitpid(-1, &status, WNOHANG);
|
||||
|
Loading…
Reference in New Issue
Block a user