]> Git Repo - qemu.git/blobdiff - block/gluster.c
gluster: Fix use after free in glfs_clear_preopened()
[qemu.git] / block / gluster.c
index 98a91323b67e044017db615204495b7ede14f962..891c13b7cea3ff87efa7affa4974e5b44a0ba3de 100644 (file)
@@ -186,7 +186,7 @@ static QemuOptsList runtime_tcp_opts = {
         },
         {
             .name = GLUSTER_OPT_PORT,
-            .type = QEMU_OPT_NUMBER,
+            .type = QEMU_OPT_STRING,
             .help = "port number on which glusterd is listening (default 24007)",
         },
         {
@@ -239,12 +239,13 @@ static glfs_t *glfs_find_preopened(const char *volume)
 static void glfs_clear_preopened(glfs_t *fs)
 {
     ListElement *entry = NULL;
+    ListElement *next;
 
     if (fs == NULL) {
         return;
     }
 
-    QLIST_FOREACH(entry, &glfs_list, list) {
+    QLIST_FOREACH_SAFE(entry, &glfs_list, list, next) {
         if (entry->saved.fs == fs) {
             if (--entry->saved.ref) {
                 return;
This page took 0.021601 seconds and 4 git commands to generate.