pnoltes commented on a change in pull request #315:
URL: https://github.com/apache/celix/pull/315#discussion_r565996840



##########
File path: 
bundles/remote_services/remote_service_admin_dfi/src/remote_service_admin_dfi.c
##########
@@ -505,7 +507,24 @@ static int remoteServiceAdmin_callback(struct 
mg_connection *conn) {
 
             if (rc == CELIX_SUCCESS && response != NULL) {
                 mg_write(conn, data_response_headers, 
strlen(data_response_headers));
-                mg_write(conn, response, strlen(response));
+
+                char *bufLoc = response;
+                size_t bytesLeft = strlen(response);
+                if (bytesLeft > INT_MAX) {
+                    //NOTE arcording to civetweb mg_write, there is a limit on 
mg_write for INT_MAX.
+                    RSA_LOG_WARNING(rsa, "nr of bytes to send for a remote 
call is > INT_MAX, this can lead to issues\n");
+                }
+                while (bytesLeft > 0) {
+                    int send = mg_write(conn, response, strlen(response));

Review comment:
       ouch. yes this should be bufLoc instead of response, because this got 
updated.
   But I could not trigger the need for multiple mg_write (although the 
document implies that this could be needed.).
   I tried to send 100mb and 1000mb of data and still one mg_write was enough. 




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to