Don't allocate to much memory if do_encrypt is not set.

---
 suspend.c |   20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

Index: suspend/suspend.c
===================================================================
--- suspend.orig/suspend.c      2007-08-16 14:14:44.000000000 +0200
+++ suspend/suspend.c   2007-08-16 15:00:28.000000000 +0200
@@ -1375,16 +1375,6 @@ int main(int argc, char *argv[])
                mem_size += LZO1X_1_MEM_COMPRESS;
 #endif
 #ifdef CONFIG_ENCRYPT
-       if (do_encrypt)
-               mem_size += buffer_size;
-#endif
-       mem_pool = malloc(mem_size);
-       if (!mem_pool) {
-               ret = errno;
-               suspend_error("Could not allocate memory.");
-               return ret;
-       }
-#ifdef CONFIG_ENCRYPT
        if (do_encrypt) {
                printf("%s: libgcrypt version: %s\n", my_name,
                        gcry_check_version(NULL));
@@ -1395,8 +1385,18 @@ int main(int argc, char *argv[])
                        fprintf(stderr, "%s: libgcrypt error %s\n", my_name, 
                                gcry_strerror(ret));
                        do_encrypt = 0;
+               } else {
+                       mem_size += buffer_size;
                }
        }
+#endif
+       mem_pool = malloc(mem_size);
+       if (!mem_pool) {
+               ret = errno;
+               suspend_error("Could not allocate memory.");
+               return ret;
+       }
+#ifdef CONFIG_ENCRYPT
        if (do_encrypt) {
                mem_size -= buffer_size;
                key_data = (struct key_data *)((char *)mem_pool + mem_size);


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Suspend-devel mailing list
Suspend-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/suspend-devel

Reply via email to