diff options
author | sr | 2013-01-06 19:42:09 +0100 |
---|---|---|
committer | sr | 2013-01-06 19:42:09 +0100 |
commit | cdd587d674974a753dae862ba716b68a6b56dfa5 (patch) | |
tree | 5e9a2c0f5dc9c5ce2e742269498bdd14a2ebfca3 | |
parent | < != > (diff) | |
download | dnbd3-cdd587d674974a753dae862ba716b68a6b56dfa5.tar.gz dnbd3-cdd587d674974a753dae862ba716b68a6b56dfa5.tar.xz dnbd3-cdd587d674974a753dae862ba716b68a6b56dfa5.zip |
[SERVER] Fix nullpointer deref when last image is deleted
-rw-r--r-- | src/server/job.c | 3 | ||||
-rw-r--r-- | src/server/saveload.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/server/job.c b/src/server/job.c index 4d55080..6281b3a 100644 --- a/src/server/job.c +++ b/src/server/job.c @@ -313,7 +313,8 @@ static void connect_proxy_images() if (isworking && !(alloc_cache && image->cache_file)) { image->working = TRUE; - memlogf("[WARNING] Proxy-Mode enabled without cache directory. This will most likely hurt performance."); + if (!image->cache_file) + memlogf("[WARNING] Proxy-Mode enabled without cache directory. This will most likely hurt performance."); goto continue_with_next_image; } snprintf(cfname, 1000, "%s", image->cache_file); diff --git a/src/server/saveload.c b/src/server/saveload.c index a9934d4..8c48304 100644 --- a/src/server/saveload.c +++ b/src/server/saveload.c @@ -556,6 +556,8 @@ void dnbd3_exec_delete(int save_if_changed) g_free(image); // Restart iteration as it would be messed up now image_iterator = _dnbd3_images; + if (image_iterator == NULL) + break; } } // END image iteration pthread_spin_unlock(&_spinlock); |