Changeset 83116 in webkit
- Timestamp:
- Apr 6, 2011 4:06:03 PM (13 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r83113 r83116 1 2011-04-06 Siddharth Mathur <siddharth.mathur@nokia.com> 2 3 Reviewed by Benjamin Poulain. 4 5 [Qt][WK2][Symbian] Remove use of stack arrays with variable size 6 https://bugs.webkit.org/show_bug.cgi?id=57877 7 8 For better compiler portability, use new/delete for arrays when size 9 isn't known at compile time. Also fix one compiler warning about bitshift 10 operations on signed integers. 11 * Platform/CoreIPC/qt/ConnectionQt.cpp: 12 (CoreIPC::Connection::readyReadHandler): 13 (CoreIPC::Connection::sendOutgoingMessage): 14 1 15 2011-04-06 Brian Weinstein <bweinstein@apple.com> 2 16 -
trunk/Source/WebKit2/Platform/CoreIPC/qt/ConnectionQt.cpp
r77765 r83116 49 49 50 50 enum { 51 MessageBodyIsOOL = 1 << 3151 MessageBodyIsOOL = 1U << 31 52 52 }; 53 53 … … 148 148 AttachmentResourceGuard<Deque<Attachment>, Deque<Attachment>::iterator> attachementDisposer(attachments); 149 149 150 char attachmentDescriptorBuffer[CMSG_SPACE(sizeof(int) * (attachmentMaxAmount))];150 OwnArrayPtr<char> attachmentDescriptorBuffer = adoptArrayPtr(new char[CMSG_SPACE(sizeof(int) * (attachmentMaxAmount))]); 151 151 struct msghdr message; 152 152 memset(&message, 0, sizeof(message)); … … 155 155 memset(&iov, 0, sizeof(iov)); 156 156 157 message.msg_control = attachmentDescriptorBuffer ;157 message.msg_control = attachmentDescriptorBuffer.get(); 158 158 message.msg_controllen = CMSG_SPACE(sizeof(int) * (attachmentMaxAmount)); 159 159 … … 185 185 if (messageInfo.attachmentCount()) { 186 186 if (controlMessage && controlMessage->cmsg_level == SOL_SOCKET && controlMessage->cmsg_type == SCM_RIGHTS) { 187 size_t attachmentSizes[messageInfo.attachmentCount()];188 memcpy(attachmentSizes , messageData, sizeof(attachmentSizes));187 OwnArrayPtr<size_t> attachmentSizes = adoptArrayPtr(new size_t[messageInfo.attachmentCount()]); 188 memcpy(attachmentSizes.get(), messageData, sizeof(size_t) * messageInfo.attachmentCount()); 189 189 190 190 messageData += sizeof(attachmentSizes); 191 191 192 int fileDescriptors[messageInfo.attachmentCount()];193 memcpy(fileDescriptors , CMSG_DATA(controlMessage), sizeof(fileDescriptors));192 OwnArrayPtr<int> fileDescriptors = adoptArrayPtr(new int[messageInfo.attachmentCount()]); 193 memcpy(fileDescriptors.get(), CMSG_DATA(controlMessage), sizeof(int) * messageInfo.attachmentCount()); 194 194 195 195 int attachmentCount = messageInfo.attachmentCount(); … … 321 321 iov[0].iov_len = sizeof(messageInfo); 322 322 323 char attachmentFDBuffer[CMSG_SPACE(sizeof(int) * (attachments.size()))];324 size_t attachmentSizes[attachments.size()];323 OwnArrayPtr<char> attachmentFDBuffer = adoptArrayPtr(new char[CMSG_SPACE(sizeof(int) * attachments.size())]); 324 OwnArrayPtr<size_t> attachmentSizes = adoptArrayPtr(new size_t[attachments.size()]); 325 325 326 326 if (!attachments.isEmpty()) { 327 message.msg_control = attachmentFDBuffer ;328 message.msg_controllen = sizeof( attachmentFDBuffer);327 message.msg_control = attachmentFDBuffer.get(); 328 message.msg_controllen = sizeof(char) * CMSG_SPACE(sizeof(int) * attachments.size()); 329 329 330 330 struct cmsghdr* cmsg = CMSG_FIRSTHDR(&message); … … 341 341 message.msg_controllen = cmsg->cmsg_len; 342 342 343 iov[iovLength].iov_base = attachmentSizes ;344 iov[iovLength].iov_len = sizeof( attachmentSizes);343 iov[iovLength].iov_base = attachmentSizes.get(); 344 iov[iovLength].iov_len = sizeof(size_t) * attachments.size(); 345 345 ++iovLength; 346 346 }
Note: See TracChangeset
for help on using the changeset viewer.