From: Andre Noll Date: Tue, 25 Nov 2008 23:33:55 +0000 (+0100) Subject: para_write: Fix --bufsize. X-Git-Tag: v0.3.3~18 X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=commitdiff_plain;h=0c4e55bbaa21f24f66e57a555341924840850c71 para_write: Fix --bufsize. The given value means kilobytes, rather than bytes. Add checks for invalid values of the buffer size. --- diff --git a/write.c b/write.c index 50ed2212..998a6d2c 100644 --- a/write.c +++ b/write.c @@ -200,8 +200,12 @@ int main(int argc, char *argv[]) if (!wng) goto out; stdin_set_defaults(&sit); - if (conf.bufsize_given) - sit.bufsize = conf.bufsize_arg; + ret = -ERRNO_TO_PARA_ERROR(EINVAL); + if (conf.bufsize_arg < 0) + goto out; + if (conf.bufsize_arg >= INT_MAX / 1024) + goto out; + sit.bufsize = conf.bufsize_arg * 1024; sit.buf = para_malloc(sit.bufsize); wng->buf = sit.buf;