File tree Expand file tree Collapse file tree 2 files changed +5
-3
lines changed
Expand file tree Collapse file tree 2 files changed +5
-3
lines changed Original file line number Diff line number Diff line change 11Pod ::Spec . new do |s |
22 s . name = 'Base64'
3- s . version = '1.1.1 '
3+ s . version = '1.1.2 '
44 s . license = 'Public Domain'
55 s . summary = 'RFC 4648 Base64 implementation in Objective-C ARC.'
66 s . homepage = 'https://github.com/ekscrypto/Base64'
77 s . author = { 'Dave Poirier' => '[email protected] ' } 8- s . source = { :git => 'https://github.com/ekscrypto/Base64.git' , :tag => '1.1.1 ' }
8+ s . source = { :git => 'https://github.com/ekscrypto/Base64.git' , :tag => '1.1.2 ' }
99 s . source_files = 'Classes' , 'Base64/MF_Base64Additions.{h,m}'
1010 s . requires_arc = true
1111end
Original file line number Diff line number Diff line change @@ -70,6 +70,7 @@ +(NSData *)dataFromBase64String:(NSString *)encoding
7070 unsigned char *encodedBytes = (unsigned char *)[encodedData bytes ];
7171
7272 NSUInteger encodedLength = [encodedData length ];
73+ if ( encodedLength >= (NSUIntegerMax - 3 ) ) return nil ; // NSUInteger overflow check
7374 NSUInteger encodedBlocks = (encodedLength+3 ) >> 2 ;
7475 NSUInteger expectedDataLength = encodedBlocks * 3 ;
7576
@@ -150,7 +151,8 @@ +(NSString *)base64StringFromData:(NSData *)data
150151 // 16 Q 33 h 50 y
151152
152153 NSUInteger dataLength = [data length ];
153- NSUInteger encodedBlocks = (dataLength * 8 ) / 24 ;
154+ NSUInteger encodedBlocks = dataLength / 3 ;
155+ if ( (encodedBlocks + 1 ) >= (NSUIntegerMax / 4 ) ) return nil ; // NSUInteger overflow check
154156 NSUInteger padding = paddingTable[dataLength % 3 ];
155157 if ( padding > 0 ) encodedBlocks++;
156158 NSUInteger encodedLength = encodedBlocks * 4 ;
You can’t perform that action at this time.
0 commit comments