uint32_t num_snaps;
struct snapper_snap *snaps;
uint32_t i;
+ uint32_t lbl_off;
tmp_ctx = talloc_new(sc_data);
if (tmp_ctx == NULL) {
goto done;
}
- sc_data->labels = talloc_array(sc_data, SHADOW_COPY_LABEL, num_snaps - 1);
+ sc_data->labels = talloc_array(sc_data, SHADOW_COPY_LABEL, sc_data->num_volumes);
if (sc_data->labels == NULL) {
status = NT_STATUS_NO_MEMORY;
goto err_rsp_free;
}
- /* start at offset 1, skipping (current) */
- for (i = 1; i < num_snaps; i++) {
- char *lbl = sc_data->labels[i - 1];
+ /* start at end for decending order, do not include 0 (current) */
+ lbl_off = 0;
+ for (i = num_snaps - 1; i > 0; i--) {
+ char *lbl = sc_data->labels[lbl_off++];
struct tm gmt_snap_time;
struct tm *tm_ret;
size_t str_sz;