From 9009ccdb0dc325e9db12ffffec7b752dce48469c Mon Sep 17 00:00:00 2001 From: z3bra Date: Tue, 22 Nov 2016 08:13:54 +0100 Subject: Use ternary to prevent passing negative size to fiforead() --- ratox.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ratox.c b/ratox.c index c0ebf2a..d5ca466 100644 --- a/ratox.c +++ b/ratox.c @@ -488,12 +488,12 @@ sendfriendcalldata(struct friend *f) TOXAV_ERR_SEND_FRAME err; n = fiforead(f->dirfd, &f->fd[FCALL_IN], ffiles[FCALL_IN], - f->av.frame + (f->av.state & INCOMPLETE)/INCOMPLETE * f->av.n, - framesize * sizeof(int16_t) - (f->av.state & INCOMPLETE)/INCOMPLETE * f->av.n); + f->av.frame + (f->av.state & INCOMPLETE ? f->av.n : 0), + framesize * sizeof(int16_t) - (f->av.state & INCOMPLETE ? f->av.n : 0)); if (n == 0) { f->av.state &= ~OUTGOING; return; - } else if (n < 0 || n > framesize * sizeof(int16_t)) { + } else if (n < 0) { return; } else if (n == (framesize * sizeof(int16_t) - (f->av.state & INCOMPLETE) * f->av.n)) { f->av.state &= ~INCOMPLETE; -- cgit v1.2.3