          a->sockaddr.nl.nl_family = AF_NETLINK;
          a->sockaddr.nl.nl_groups = group;
  
-Index: git/src/cryptsetup-generator.c
-===================================================================
---- git.orig/src/cryptsetup-generator.c	2011-09-18 19:16:53.000000000 -0700
-+++ git/src/cryptsetup-generator.c	2011-09-18 19:38:47.205597702 -0700
-@@ -263,7 +263,7 @@
- 
-         for (;;) {
-                 char line[LINE_MAX], *l;
--                char *name = NULL, *device = NULL, *password = NULL, *options = NULL;
-+                char name[50], device[50], password[50], options[50] = NULL;
-                 int k;
- 
-                 if (!(fgets(line, sizeof(line), f)))
-@@ -275,7 +275,7 @@
-                 if (*l == '#' || *l == 0)
-                         continue;
- 
--                if ((k = sscanf(l, "%ms %ms %ms %ms", &name, &device, &password, &options)) < 2 || k > 4) {
-+                if ((k = sscanf(l, "%s %s %s %s", &name, &device, &password, &options)) < 2 || k > 4) {
-                         log_error("Failed to parse /etc/crypttab:%u, ignoring.", n);
-                         r = EXIT_FAILURE;
-                         goto next;
-@@ -284,11 +284,7 @@
-                 if (create_disk(name, device, password, options) < 0)
-                         r = EXIT_FAILURE;
- 
--        next:
--                free(name);
--                free(device);
--                free(password);
--                free(options);
-+        next:;
-         }
- 
- finish:
 Index: git/src/swap.c
 ===================================================================
---- git.orig/src/swap.c	2011-09-18 19:16:53.000000000 -0700
-+++ git/src/swap.c	2011-09-18 19:38:47.205597702 -0700
-@@ -1044,11 +1044,12 @@
+--- git.orig/src/swap.c	2012-01-25 21:27:23.000000000 -0800
++++ git/src/swap.c	2012-01-25 21:59:43.897031326 -0800
+@@ -1049,11 +1049,12 @@
          (void) fscanf(m->proc_swaps, "%*s %*s %*s %*s %*s\n");
  
          for (i = 1;; i++) {

         free(o);
Index: git/src/umount.c
===================================================================
--- git.orig/src/umount.c	2011-09-18 19:16:53.000000000 -0700
+++ git/src/umount.c	2011-09-18 19:38:47.215597732 -0700
@@ -60,7 +60,9 @@
 
 static int mount_points_list_get(MountPoint **head) {

                         return -ENOMEM;
Index: git/src/tmpfiles.c
===================================================================
--- git.orig/src/tmpfiles.c	2012-01-25 21:27:23.000000000 -0800
+++ git/src/tmpfiles.c	2012-01-25 22:06:58.649052774 -0800
@@ -73,8 +73,8 @@
 typedef struct Item {
         ItemType type;
 
-        char *path;
-        char *argument;
+        char path[50];
+        char argument[50];
         uid_t uid;
         gid_t gid;
         mode_t mode;
@@ -822,7 +822,6 @@
         case CREATE_CHAR_DEVICE:
         case CREATE_BLOCK_DEVICE:
         case IGNORE_PATH:
-        case RELABEL_PATH:
         case RECURSIVE_RELABEL_PATH:
         case WRITE_FILE:
                 break;
@@ -858,8 +857,6 @@
 static void item_free(Item *i) {
         assert(i);
 
-        free(i->path);
-        free(i->argument);
         free(i);
 }
 
@@ -906,7 +903,7 @@
 
 static int parse_line(const char *fname, unsigned line, const char *buffer) {
         Item *i, *existing;
-        char *mode = NULL, *user = NULL, *group = NULL, *age = NULL;
+        char mode[50], user[50], group[50], age[50];
         char type;
         Hashmap *h;
         int r, n = -1;
@@ -923,18 +920,18 @@
 
         if (sscanf(buffer,
                    "%c "
