Changeset 167968 in webkit
- Timestamp:
- Apr 29, 2014, 4:40:49 PM (11 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r167961 r167968 1 2014-04-29 Dan Bernstein <mitz@apple.com> 2 3 <rdar://problem/16745596> [Cocoa] Crash when invoking a method with an unsigned parameter on a remote object 4 https://bugs.webkit.org/show_bug.cgi?id=132366 5 6 Reviewed by Anders Carlsson. 7 8 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 9 (encodeInvocation): Handle the 'I' type code. Interpret the 'q' and 'Q' type codes in an 10 architecture-independent manner. 11 (decodeInvocationArguments): Ditto. 12 1 13 2014-04-29 Roger Fong <roger_fong@apple.com> 2 14 -
trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.mm
r167719 r167968 147 147 } 148 148 149 // unsigned 150 case 'I': { 151 unsigned value; 152 [invocation getArgument:&value atIndex:i]; 153 154 encodeToObjectStream(encoder, @(value)); 155 break; 156 } 157 149 158 // char 150 159 case 'c': { … … 165 174 } 166 175 167 // NSInteger176 // long 168 177 case 'q': { 169 NSIntegervalue;178 long value; 170 179 [invocation getArgument:&value atIndex:i]; 171 180 … … 174 183 } 175 184 176 // NSUInteger185 // unsigned long 177 186 case 'Q': { 178 NSUIntegervalue;187 unsigned long value; 179 188 [invocation getArgument:&value atIndex:i]; 180 189 … … 422 431 } 423 432 433 // unsigned 434 case 'I': { 435 unsigned value = [decodeObjectFromObjectStream(decoder, [NSSet setWithObject:[NSNumber class]]) unsignedIntValue]; 436 [invocation setArgument:&value atIndex:i]; 437 break; 438 } 439 424 440 // char 425 441 case 'c': { … … 436 452 } 437 453 438 // NSInteger454 // long 439 455 case 'q': { 440 NSInteger value = [decodeObjectFromObjectStream(decoder, [NSSet setWithObject:[NSNumber class]]) integerValue];441 [invocation setArgument:&value atIndex:i]; 442 break; 443 } 444 445 // NSUInteger456 long value = [decodeObjectFromObjectStream(decoder, [NSSet setWithObject:[NSNumber class]]) longValue]; 457 [invocation setArgument:&value atIndex:i]; 458 break; 459 } 460 461 // unsigned long 446 462 case 'Q': { 447 NSUInteger value = [decodeObjectFromObjectStream(decoder, [NSSet setWithObject:[NSNumber class]]) unsignedIntegerValue];463 unsigned long value = [decodeObjectFromObjectStream(decoder, [NSSet setWithObject:[NSNumber class]]) unsignedLongValue]; 448 464 [invocation setArgument:&value atIndex:i]; 449 465 break;
Note:
See TracChangeset
for help on using the changeset viewer.