Skip to content

Commit 839bcad

Browse files
Don't make zero-size write calls
1 parent 438d633 commit 839bcad

1 file changed

Lines changed: 16 additions & 15 deletions

File tree

requests.c

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ handle_io_progress(Request *req)
117117
{
118118
NPError err;
119119
size_t bytesAvailable;
120-
uint32_t writeSize;
120+
int32_t writeSize;
121121
int32_t bytesConsumed;
122122
uint8_t *dataPtr;
123123

@@ -143,20 +143,21 @@ handle_io_progress(Request *req)
143143
/* streaming in progress AND data available */
144144
dbglogmsg("> NPP_WriteReady %s %d\n", req->originalUrl, bytesAvailable);
145145
writeSize = pluginFuncs.writeready(&npp, req->stream);
146-
writeSize = MIN(writeSize, bytesAvailable);
147-
148-
dbglogmsg("> NPP_Write %s %d\n", req->originalUrl, writeSize);
149-
dataPtr = req->buf + req->writePtr;
150-
bytesConsumed = pluginFuncs.write(&npp, req->stream, req->bytesWritten, writeSize, dataPtr);
151-
if (bytesConsumed < 0) {
152-
logmsg("write error %d\n", bytesConsumed);
153-
cancel_request(req);
154-
} else if ((uint32_t)bytesConsumed < writeSize) {
155-
logmsg("not enough bytes consumed %d < %d\n", bytesConsumed, writeSize);
156-
cancel_request(req);
157-
} else {
158-
req->bytesWritten += bytesConsumed;
159-
req->writePtr += bytesConsumed;
146+
if (writeSize > 0) {
147+
writeSize = MIN(writeSize, bytesAvailable);
148+
dbglogmsg("> NPP_Write %s %d\n", req->originalUrl, writeSize);
149+
dataPtr = req->buf + req->writePtr;
150+
bytesConsumed = pluginFuncs.write(&npp, req->stream, req->bytesWritten, writeSize, dataPtr);
151+
if (bytesConsumed < 0) {
152+
logmsg("write error %d\n", bytesConsumed);
153+
cancel_request(req);
154+
} else if ((uint32_t)bytesConsumed < writeSize) {
155+
logmsg("not enough bytes consumed %d < %d\n", bytesConsumed, writeSize);
156+
cancel_request(req);
157+
} else {
158+
req->bytesWritten += bytesConsumed;
159+
req->writePtr += bytesConsumed;
160+
}
160161
}
161162
}
162163

0 commit comments

Comments
 (0)