diff options
| author | 2023-06-18 20:29:50 +0200 | |
|---|---|---|
| committer | 2023-06-18 20:29:50 +0200 | |
| commit | b331f362bec4206bebef145c8ec09d2890e8a597 (patch) | |
| tree | 1f1957553d556ae8f3a830ae477e939f47a0f7b5 /data.c | |
| parent | Added some more checks to _object_fn_by_md5(). (diff) | |
| download | snac2-b331f362bec4206bebef145c8ec09d2890e8a597.tar.gz snac2-b331f362bec4206bebef145c8ec09d2890e8a597.tar.xz snac2-b331f362bec4206bebef145c8ec09d2890e8a597.zip | |
Improved checks to _object_fn_by_md5().
Diffstat (limited to 'data.c')
| -rw-r--r-- | data.c | 11 |
1 files changed, 6 insertions, 5 deletions
| @@ -546,6 +546,7 @@ xs_list *index_list_desc(const char *fn, int skip, int show) | |||
| 546 | static xs_str *_object_fn_by_md5(const char *md5, const char *func) | 546 | static xs_str *_object_fn_by_md5(const char *md5, const char *func) |
| 547 | { | 547 | { |
| 548 | xs *bfn = xs_fmt("%s/object/%c%c", srv_basedir, md5[0], md5[1]); | 548 | xs *bfn = xs_fmt("%s/object/%c%c", srv_basedir, md5[0], md5[1]); |
| 549 | xs *ret = NULL; | ||
| 549 | int ok = 1; | 550 | int ok = 1; |
| 550 | 551 | ||
| 551 | /* an object deleted from an index; fail but don't bark */ | 552 | /* an object deleted from an index; fail but don't bark */ |
| @@ -557,14 +558,14 @@ static xs_str *_object_fn_by_md5(const char *md5, const char *func) | |||
| 557 | ok = 0; | 558 | ok = 0; |
| 558 | } | 559 | } |
| 559 | 560 | ||
| 560 | if (ok) | 561 | if (ok) { |
| 561 | mkdirx(bfn); | 562 | mkdirx(bfn); |
| 562 | else { | 563 | ret = xs_fmt("%s/%s.json", bfn, md5); |
| 563 | xs_free(bfn); | ||
| 564 | bfn = xs_fmt("%s/object/invalid", srv_basedir); | ||
| 565 | } | 564 | } |
| 565 | else | ||
| 566 | ret = xs_fmt("%s/object/invalid/invalid.json", srv_basedir); | ||
| 566 | 567 | ||
| 567 | return xs_fmt("%s/%s.json", bfn, md5); | 568 | return ret; |
| 568 | } | 569 | } |
| 569 | 570 | ||
| 570 | 571 | ||