Refuse 0 integer size
[babeltrace.git] / formats / ctf / metadata / ctf-visitor-generate-io-struct.c
index 626eb6bc03c44fdfd78ee9e3e00685c3c6094f5c..4515b53e437fb16238530f9371b20a745b79f2b2 100644 (file)
@@ -875,7 +875,6 @@ struct bt_declaration *ctf_declaration_struct_visit(FILE *fd,
                        ret = get_unary_unsigned(min_align, &min_align_value);
                        if (ret) {
                                fprintf(fd, "[error] %s: unexpected unary expression for structure \"align\" attribute\n", __func__);
-                               ret = -EINVAL;
                                goto error;
                        }
                }
@@ -1320,6 +1319,11 @@ struct bt_declaration *ctf_declaration_integer_visit(FILE *fd, int depth,
                                return NULL;
                        }
                        size = right->u.unary_expression.u.unsigned_constant;
+                       if (!size) {
+                               fprintf(fd, "[error] %s: integer size: expecting non-zero constant\n",
+                                       __func__);
+                               return NULL;
+                       }
                        has_size = 1;
                } else if (!strcmp(left->u.unary_expression.u.string, "align")) {
                        if (right->u.unary_expression.type != UNARY_UNSIGNED_CONSTANT) {
@@ -2400,6 +2404,7 @@ int ctf_clock_declaration_visit(FILE *fd, int depth, struct ctf_node *node,
                                goto error;
                        }
                        clock->absolute = ret;
+                       ret = 0;
                } else {
                        fprintf(fd, "[warning] %s: attribute \"%s\" is unknown in clock declaration.\n", __func__, left);
                }
This page took 0.023982 seconds and 4 git commands to generate.