@@ -319,7 +319,6 @@ bool phongo_query_init(php_phongo_query_t *query, bson_t *filter, bson_t *option
319
319
320
320
321
321
if (bson_iter_init_find (& iter , options , "modifiers" )) {
322
- bson_t tmp ;
323
322
uint32_t len = 0 ;
324
323
const uint8_t * data = NULL ;
325
324
@@ -329,9 +328,13 @@ bool phongo_query_init(php_phongo_query_t *query, bson_t *filter, bson_t *option
329
328
}
330
329
331
330
bson_iter_document (& iter , & len , & data );
332
- bson_init_static (& tmp , data , len );
333
- bson_copy_to_excluding_noinit (& tmp , query -> query , "nadastrada" , NULL );
334
- bson_destroy (& tmp );
331
+ if (len ) {
332
+ bson_t tmp ;
333
+
334
+ bson_init_static (& tmp , data , len );
335
+ bson_copy_to_excluding_noinit (& tmp , query -> query , "nadastrada" , NULL );
336
+ bson_destroy (& tmp );
337
+ }
335
338
}
336
339
337
340
if (bson_iter_init_find (& iter , options , "projection" )) {
@@ -344,11 +347,12 @@ bool phongo_query_init(php_phongo_query_t *query, bson_t *filter, bson_t *option
344
347
}
345
348
346
349
bson_iter_document (& iter , & len , & data );
347
- query -> selector = bson_new_from_data (data , len );
350
+ if (len ) {
351
+ query -> selector = bson_new_from_data (data , len );
352
+ }
348
353
}
349
354
350
355
if (bson_iter_init_find (& iter , options , "sort" )) {
351
- bson_t tmp ;
352
356
uint32_t len = 0 ;
353
357
const uint8_t * data = NULL ;
354
358
@@ -358,9 +362,13 @@ bool phongo_query_init(php_phongo_query_t *query, bson_t *filter, bson_t *option
358
362
}
359
363
360
364
phongo_bson_iter_as_document (& iter , & len , & data );
361
- bson_init_static (& tmp , data , len );
362
- bson_append_document (query -> query , "$orderby" , -1 , & tmp );
363
- bson_destroy (& tmp );
365
+ if (len ) {
366
+ bson_t tmp ;
367
+
368
+ bson_init_static (& tmp , data , len );
369
+ bson_append_document (query -> query , "$orderby" , -1 , & tmp );
370
+ bson_destroy (& tmp );
371
+ }
364
372
}
365
373
}
366
374
0 commit comments