diff options
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/2466.toml')
| -rw-r--r-- | gitlab/issues/target_missing/host_missing/accel_missing/2466.toml | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/2466.toml b/gitlab/issues/target_missing/host_missing/accel_missing/2466.toml new file mode 100644 index 00000000..31c69b79 --- /dev/null +++ b/gitlab/issues/target_missing/host_missing/accel_missing/2466.toml @@ -0,0 +1,32 @@ +id = 2466 +title = "I'm not sure. But I Think I could cause the err(include/qemu/queue.h)." +state = "closed" +created_at = "2024-07-29T15:40:02.918Z" +closed_at = "2024-07-29T16:48:53.960Z" +labels = [] +url = "https://gitlab.com/qemu-project/qemu/-/issues/2466" +host-os = "ubuntu 22.04" +host-arch = "x86" +qemu-version = "n/a" +guest-os = "n/a" +guest-arch = "n/a" +description = """At file "include/qemu/queue.h", Maybe I Think QTAILQ_REMOVE could cause a Error. + +``` +#define QTAILQ_REMOVE(head, elm, field) do { \\ + if (((elm)->field.tqe_next) != NULL) \\ + (elm)->field.tqe_next->field.tqe_circ.tql_prev = \\ + (elm)->field.tqe_circ.tql_prev; \\ + else \\ + (head)->tqh_circ.tql_prev = (elm)->field.tqe_circ.tql_prev; \\ + (elm)->field.tqe_circ.tql_prev->tql_next = (elm)->field.tqe_next; \\ + (elm)->field.tqe_circ.tql_prev = NULL; \\ + (elm)->field.tqe_circ.tql_next = NULL; \\ + (elm)->field.tqe_next = NULL; \\ +} while (/*CONSTCOND*/0) +``` +If the length of the que is one, line 7 cause a segmentation fault.""" +reproduce = """1. Create a Que with QTAILQ_INIT +2. Add one element to que. +3. Remove the element with QTAILQ_REMOVE""" +additional = """queue.h file is located at "inclue/qemu/queue.h"""" |