]> sigrok.org Git - libsigrok.git/blobdiff - src/output/csv.c
output/csv: fix segfault with logic channels
[libsigrok.git] / src / output / csv.c
index 97102f45917482ee002e75caabe33754bcdfc0c3..f3e6e335e73907bc4927ddbee755d0bfadbb5a1d 100644 (file)
@@ -378,8 +378,8 @@ static void process_logic(struct context *ctx,
 
        for (j = ch = 0; ch < ctx->num_logic_channels; j++) {
                if (ctx->channels[j].ch->type == SR_CHANNEL_LOGIC) {
-                       for (i = 0; i <= logic->length - logic->unitsize; i += logic->unitsize) {
-                               sample = logic->data + i;
+                       for (i = 0; i < num_samples; i++) {
+                               sample = logic->data + i * logic->unitsize;
                                idx = ctx->channels[ch].ch->index;
                                if (ctx->label_do && !ctx->label_names)
                                        ctx->channels[j].label = "logic";