Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:15
rsync.21339
rsync-iconv-segfault.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File rsync-iconv-segfault.patch of Package rsync.21339
From c0c6a97c35e8e4fb56ba26dc9c8447e26d94de06 Mon Sep 17 00:00:00 2001 From: Wayne Davison <wayned@samba.org> Date: Sat, 16 Mar 2019 11:49:53 -0700 Subject: [PATCH] Try to fix the iconv crash in bug 11338. Applying Michal Ruprich's suggested patch for the rwrite() function that should hopefully help with a bug that I couldn't reproduce. --- log.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/log.c b/log.c index 21bcdfd9..a86edd74 100644 --- a/log.c +++ b/log.c @@ -378,10 +378,13 @@ void rwrite(enum logcode code, const char *buf, int len, int is_utf8) filtered_fwrite(f, convbuf, outbuf.len, 0); outbuf.len = 0; } - if (!ierrno || ierrno == E2BIG) - continue; - fprintf(f, "\\#%03o", CVAL(inbuf.buf, inbuf.pos++)); - inbuf.len--; + /* Log one byte of illegal/incomplete sequence and continue with + * the next character. Check that the buffer is non-empty for the + * sake of robustness. */ + if ((ierrno == EILSEQ || ierrno == EINVAL) && inbuf.len) { + fprintf(f, "\\#%03o", CVAL(inbuf.buf, inbuf.pos++)); + inbuf.len--; + } } } else #endif
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor