X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fjournal-file.c;h=275324b672e554be629af524f3175de73d2671b6;hb=edc6f2f56cc82da68510db469e2e4d023d7090fb;hp=48fdb6163aec5a1989dd4186d2d33483db56455f;hpb=4faa70046ca0c1775c8e231179716a78cf3291b1;p=elogind.git diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index 48fdb6163..275324b67 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -1010,7 +1010,10 @@ static int journal_file_append_data( if (r < 0) return r; - eq = memchr(data, '=', size); + if (!data) + eq = NULL; + else + eq = memchr(data, '=', size); if (eq && eq > data) { uint64_t fp; Object *fo; @@ -1449,7 +1452,7 @@ static int generic_array_get( found: /* Let's cache this item for the next invocation */ - chain_cache_put(f->chain_cache, ci, first, a, o->entry_array.items[0], t, i); + chain_cache_put(f->chain_cache, ci, first, a, le64toh(o->entry_array.items[0]), t, i); r = journal_file_move_to_object(f, OBJECT_ENTRY, p, &o); if (r < 0) @@ -1625,8 +1628,6 @@ static int generic_array_bisect( else left = y + 1; } - - last_index = (uint64_t) -1; } for (;;) { @@ -1684,7 +1685,7 @@ found: return 0; /* Let's cache this item for the next invocation */ - chain_cache_put(f->chain_cache, ci, first, a, array->entry_array.items[0], t, subtract_one ? (i > 0 ? i-1 : (uint64_t) -1) : i); + chain_cache_put(f->chain_cache, ci, first, a, le64toh(array->entry_array.items[0]), t, subtract_one ? (i > 0 ? i-1 : (uint64_t) -1) : i); if (subtract_one && i == 0) p = last_p; @@ -2695,10 +2696,10 @@ int journal_file_open_reliably( /* The file is corrupted. Rotate it away and try it again (but only once) */ l = strlen(fname); - if (asprintf(&p, "%.*s@%016llx-%016llx.journal~", + if (asprintf(&p, "%.*s@%016llx-%016" PRIx64 ".journal~", (int) l - 8, fname, (unsigned long long) now(CLOCK_REALTIME), - random_ull()) < 0) + random_u64()) < 0) return -ENOMEM; r = rename(fname, p);