File tree Expand file tree Collapse file tree 2 files changed +18
-1
lines changed
Expand file tree Collapse file tree 2 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -57,7 +57,9 @@ namespace Values {
5757 Field(_name, SQLITE_BLOB), length(len) {
5858 value = new char [len];
5959 assert (value != nullptr );
60- memcpy (value, val, len);
60+ if (len > 0 ) {
61+ memcpy (value, val, len);
62+ }
6163 }
6264 inline virtual ~Blob () override {
6365 delete[] value;
Original file line number Diff line number Diff line change @@ -51,4 +51,19 @@ describe('blob', function() {
5151 done ( ) ;
5252 } ) ;
5353 } ) ;
54+
55+ it ( 'should be able to select empty blobs' , function ( done ) {
56+ const empty = new sqlite3 . Database ( ':memory:' ) ;
57+ empty . serialize ( function ( ) {
58+ empty . run ( "CREATE TABLE files (id INTEGER PRIMARY KEY, data BLOB)" ) ;
59+ empty . run ( "INSERT INTO files (data) VALUES (X'')" ) ;
60+ } ) ;
61+ empty . get ( "SELECT data FROM files LIMIT 1" , ( err , row ) => {
62+ if ( err ) throw err ;
63+ assert . ok ( Buffer . isBuffer ( row . data ) ) ;
64+ assert . equal ( row . data . length , 0 ) ;
65+ empty . close ( done ) ;
66+ } ) ;
67+ } ) ;
68+
5469} ) ;
You can’t perform that action at this time.
0 commit comments