Commit e2494e3
Fix corrupt OD load following a non-existent object
If an OD is loaded from a store that contains an object which has
subsequently been removed, it is necessary to skip the part of the data
which was stored for the object. Otherwise the data part will be
interpreted as the index, subindex and size of the next object to load,
possibly loading incorrect data or at least failing to load the
following objects.
Also skip the object if the current OD would not store it (OD_TRANSIENT)
and also abort the load if a size of zero is encountered in the store.
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@unjo.com>1 parent ca4688e commit e2494e3
1 file changed
+15
-11
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
384 | 384 | | |
385 | 385 | | |
386 | 386 | | |
387 | | - | |
| 387 | + | |
388 | 388 | | |
389 | 389 | | |
390 | 390 | | |
391 | 391 | | |
392 | 392 | | |
393 | 393 | | |
394 | 394 | | |
395 | | - | |
| 395 | + | |
396 | 396 | | |
397 | 397 | | |
398 | | - | |
399 | | - | |
| 398 | + | |
| 399 | + | |
400 | 400 | | |
401 | 401 | | |
402 | 402 | | |
| |||
418 | 418 | | |
419 | 419 | | |
420 | 420 | | |
421 | | - | |
422 | | - | |
423 | | - | |
424 | | - | |
425 | | - | |
426 | | - | |
| 421 | + | |
| 422 | + | |
427 | 423 | | |
428 | | - | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
429 | 429 | | |
| 430 | + | |
430 | 431 | | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
431 | 435 | | |
432 | 436 | | |
433 | 437 | | |
| |||
0 commit comments