pad repo files with 0 bytes, not random memory
authorDan Winship <danw@gnome.org>
Wed, 6 Feb 2008 17:59:27 +0000 (12:59 -0500)
committerDan Winship <danw@gnome.org>
Wed, 6 Feb 2008 17:59:27 +0000 (12:59 -0500)
so you can do:
  ./razor import-yum
  mv rawhide.repo rawhide.repo.orig
  make
  ./razor import-yum
  diff rawhide.repo.orig rawhide.repo

(doesn't work with system.repo at the moment...)

razor.c

diff --git a/razor.c b/razor.c
index 759819e..1808520 100644 (file)
--- a/razor.c
+++ b/razor.c
@@ -261,11 +261,13 @@ razor_set_write(struct razor_set *set, const char *filename)
                return -1;
 
        razor_write(fd, data, sizeof data);
+       memset(data, 0, sizeof data);
        for (i = 0; i < ARRAY_SIZE(razor_sections); i++) {
                if (razor_sections[i].type != i)
                        continue;
                a = (void *) set + razor_sections[i].offset;
-               razor_write(fd, a->data, ALIGN(a->size, 4096));
+               razor_write(fd, a->data, a->size);
+               razor_write(fd, data, ALIGN(a->size, 4096) - a->size);
        }
 
        close(fd);