diff --git a/src/fmdb/FMResultSet.m b/src/fmdb/FMResultSet.m index 13f226f5..d4d0589b 100644 --- a/src/fmdb/FMResultSet.m +++ b/src/fmdb/FMResultSet.m @@ -322,14 +322,14 @@ - (NSData*)dataForColumnIndex:(int)columnIdx { return nil; } - const char *dataBuffer = sqlite3_column_blob([_statement statement], columnIdx); + const void *dataBuffer = sqlite3_column_blob([_statement statement], columnIdx); int dataSize = sqlite3_column_bytes([_statement statement], columnIdx); if (dataBuffer == NULL) { return nil; } - return [NSData dataWithBytes:(const void *)dataBuffer length:(NSUInteger)dataSize]; + return [NSData dataWithBytes:dataBuffer length:(NSUInteger)dataSize]; } @@ -343,12 +343,14 @@ - (NSData*)dataNoCopyForColumnIndex:(int)columnIdx { return nil; } - const char *dataBuffer = sqlite3_column_blob([_statement statement], columnIdx); + const void *dataBuffer = sqlite3_column_blob([_statement statement], columnIdx); int dataSize = sqlite3_column_bytes([_statement statement], columnIdx); - NSData *data = [NSData dataWithBytesNoCopy:(void *)dataBuffer length:(NSUInteger)dataSize freeWhenDone:NO]; + if (dataBuffer == NULL) { + return nil; + } - return data; + return [NSData dataWithBytesNoCopy:(void *)dataBuffer length:(NSUInteger)dataSize freeWhenDone:NO]; }