1.1 --- a/librazor/iterator.c Sun Jun 29 10:55:17 2008 +0100
1.2 +++ b/librazor/iterator.c Sun Jun 29 17:32:19 2008 +0100
1.3 @@ -20,6 +20,8 @@
1.4 #define _GNU_SOURCE
1.5
1.6 #include <string.h>
1.7 +#include <assert.h>
1.8 +
1.9 #include "razor-internal.h"
1.10 #include "razor.h"
1.11
1.12 @@ -48,6 +50,8 @@
1.13 {
1.14 struct razor_package_iterator *pi;
1.15
1.16 + assert (set != NULL);
1.17 +
1.18 pi = zalloc(sizeof *pi);
1.19 pi->set = set;
1.20 pi->end = set->packages.data + set->packages.size;
1.21 @@ -61,6 +65,10 @@
1.22 struct razor_set *set,
1.23 struct razor_property *property)
1.24 {
1.25 + assert (pi != NULL);
1.26 + assert (set != NULL);
1.27 + assert (property != NULL);
1.28 +
1.29 memset(pi, 0, sizeof *pi);
1.30 pi->set = set;
1.31 pi->index = list_first(&property->packages, &set->package_pool);
1.32 @@ -72,6 +80,9 @@
1.33 {
1.34 struct list *index;
1.35
1.36 + assert (set != NULL);
1.37 + assert (property != NULL);
1.38 +
1.39 index = list_first(&property->packages, &set->package_pool);
1.40 return razor_package_iterator_create_with_index(set, index);
1.41 }
1.42 @@ -83,6 +94,9 @@
1.43 struct razor_entry *entry;
1.44 struct list *index;
1.45
1.46 + assert (set != NULL);
1.47 + assert (filename != NULL);
1.48 +
1.49 entry = razor_set_find_entry(set, set->files.data, filename);
1.50 if (entry == NULL)
1.51 return razor_package_iterator_create_empty(set);
1.52 @@ -102,6 +116,8 @@
1.53 int valid;
1.54 struct razor_package *p, *packages;
1.55
1.56 + assert (pi != NULL);
1.57 +
1.58 if (pi->package) {
1.59 p = pi->package++;
1.60 valid = p < pi->end;
1.61 @@ -129,6 +145,8 @@
1.62 RAZOR_EXPORT void
1.63 razor_package_iterator_destroy(struct razor_package_iterator *pi)
1.64 {
1.65 + assert (pi != NULL);
1.66 +
1.67 if (pi->free_index)
1.68 free(pi->index);
1.69
1.70 @@ -141,6 +159,9 @@
1.71 {
1.72 struct razor_property_iterator *pi;
1.73
1.74 + assert (set != NULL);
1.75 + assert (package != NULL);
1.76 +
1.77 pi = zalloc(sizeof *pi);
1.78 pi->set = set;
1.79
1.80 @@ -166,6 +187,8 @@
1.81 int valid;
1.82 struct razor_property *p, *properties;
1.83
1.84 + assert (pi != NULL);
1.85 +
1.86 if (pi->property) {
1.87 p = pi->property++;
1.88 valid = p < pi->end;
1.89 @@ -208,6 +231,8 @@
1.90 struct razor_package_query *pq;
1.91 int count;
1.92
1.93 + assert (set != NULL);
1.94 +
1.95 pq = zalloc(sizeof *pq);
1.96 pq->set = set;
1.97 count = set->packages.size / sizeof(struct razor_package);
1.98 @@ -222,6 +247,9 @@
1.99 {
1.100 struct razor_package *packages;
1.101
1.102 + assert (pq != NULL);
1.103 + assert (p != NULL);
1.104 +
1.105 packages = pq->set->packages.data;
1.106 pq->count += pq->vector[p - packages] ^ 1;
1.107 pq->vector[p - packages] = 1;
1.108 @@ -234,6 +262,9 @@
1.109 struct razor_package *packages, *p;
1.110 const char *name, *version, *arch;
1.111
1.112 + assert (pq != NULL);
1.113 + assert (pi != NULL);
1.114 +
1.115 packages = pq->set->packages.data;
1.116 while (razor_package_iterator_next(pi, &p, &name, &version, &arch)) {
1.117 pq->count += pq->vector[p - packages] ^ 1;
1.118 @@ -249,6 +280,8 @@
1.119 struct list *index;
1.120 int i, j;
1.121
1.122 + assert (pq != NULL);
1.123 +
1.124 set = pq->set;
1.125 if (pq->count > 0)
1.126 index = zalloc(pq->count * sizeof *index);
2.1 --- a/librazor/razor.c Sun Jun 29 10:55:17 2008 +0100
2.2 +++ b/librazor/razor.c Sun Jun 29 17:32:19 2008 +0100
2.3 @@ -32,6 +32,7 @@
2.4 #include <errno.h>
2.5 #include <ctype.h>
2.6 #include <fnmatch.h>
2.7 +#include <assert.h>
2.8
2.9 #include "razor-internal.h"
2.10 #include "razor.h"
2.11 @@ -127,6 +128,9 @@
2.12 struct array *array;
2.13 int fd;
2.14
2.15 + assert (set != NULL);
2.16 + assert (filename != NULL);
2.17 +
2.18 fd = open(filename, O_RDONLY);
2.19 if (fstat(fd, &stat) < 0)
2.20 return -1;
2.21 @@ -157,6 +161,9 @@
2.22 struct array *array;
2.23 int fd;
2.24
2.25 + assert (set != NULL);
2.26 + assert (filename != NULL);
2.27 +
2.28 fd = open(filename, O_RDONLY);
2.29 if (fstat(fd, &stat) < 0)
2.30 return -1;
2.31 @@ -186,6 +193,8 @@
2.32 struct array *a;
2.33 int i;
2.34
2.35 + assert (set != NULL);
2.36 +
2.37 if (set->header) {
2.38 for (i = 0; set->header->sections[i].type; i++)
2.39 ;
2.40 @@ -340,6 +349,9 @@
2.41 long n1, n2;
2.42 int res;
2.43
2.44 + assert (s1 != NULL);
2.45 + assert (s2 != NULL);
2.46 +
2.47 n1 = strtol(s1, (char **) &p1, 10);
2.48 n2 = strtol(s2, (char **) &p2, 10);
2.49
2.50 @@ -377,6 +389,9 @@
2.51 struct razor_package *p;
2.52 const char *name, *version, *arch;
2.53
2.54 + assert (set != NULL);
2.55 + assert (package != NULL);
2.56 +
2.57 pi = razor_package_iterator_create(set);
2.58 while (razor_package_iterator_next(pi, &p, &name, &version, &arch)) {
2.59 if (strcmp(package, name) == 0)
2.60 @@ -395,6 +410,9 @@
2.61 {
2.62 const char *pool = set->details_string_pool.data;
2.63
2.64 + assert (set != NULL);
2.65 + assert (package != NULL);
2.66 +
2.67 if (summary != NULL)
2.68 *summary = &pool[package->summary];
2.69 if (description != NULL)
2.70 @@ -408,6 +426,8 @@
2.71 RAZOR_EXPORT const char *
2.72 razor_property_relation_to_string(struct razor_property *p)
2.73 {
2.74 + assert (p != NULL);
2.75 +
2.76 switch (p->flags & RAZOR_PROPERTY_RELATION_MASK) {
2.77 case RAZOR_PROPERTY_LESS:
2.78 return "<";
2.79 @@ -432,6 +452,8 @@
2.80 RAZOR_EXPORT const char *
2.81 razor_property_type_to_string(struct razor_property *p)
2.82 {
2.83 + assert (p != NULL);
2.84 +
2.85 switch (p->flags & RAZOR_PROPERTY_TYPE_MASK) {
2.86 case RAZOR_PROPERTY_REQUIRES:
2.87 return "requires";
2.88 @@ -454,6 +476,10 @@
2.89 const char *n, *pool = set->file_string_pool.data;
2.90 int len;
2.91
2.92 + assert (set != NULL);
2.93 + assert (dir != NULL);
2.94 + assert (pattern != NULL);
2.95 +
2.96 e = (struct razor_entry *) set->files.data + dir->start;
2.97 do {
2.98 n = pool + e->name;
2.99 @@ -498,6 +524,8 @@
2.100 struct razor_entry *e;
2.101 char buffer[512], *p, *base;
2.102
2.103 + assert (set != NULL);
2.104 +
2.105 if (pattern == NULL || !strcmp (pattern, "/")) {
2.106 buffer[0] = '\0';
2.107 list_dir(set, set->files.data, buffer, NULL);
2.108 @@ -585,6 +613,9 @@
2.109 uint32_t end;
2.110 char buffer[512];
2.111
2.112 + assert (set != NULL);
2.113 + assert (name != NULL);
2.114 +
2.115 package = razor_set_get_package(set, name);
2.116 /* TODO: we should return the error to the caller */
2.117 if (!package)
2.118 @@ -610,6 +641,9 @@
2.119 const char *name1, *name2, *version1, *version2, *arch1, *arch2;
2.120 int res;
2.121
2.122 + assert (set != NULL);
2.123 + assert (upstream != NULL);
2.124 +
2.125 pi1 = razor_package_iterator_create(set);
2.126 pi2 = razor_package_iterator_create(upstream);
2.127
2.128 @@ -663,6 +697,9 @@
2.129 struct razor_package_query *query;
2.130 struct razor_package_iterator *pi;
2.131
2.132 + assert (set != NULL);
2.133 + assert (next != NULL);
2.134 +
2.135 query = razor_package_query_create(set);
2.136 razor_set_diff(next, set, add_new_package, query);
2.137
2.138 @@ -683,6 +720,9 @@
2.139 struct razor_package_query *query;
2.140 struct razor_package_iterator *pi;
2.141
2.142 + assert (set != NULL);
2.143 + assert (next != NULL);
2.144 +
2.145 query = razor_package_query_create(next);
2.146 razor_set_diff(set, next, add_new_package, query);
2.147
3.1 --- a/librazor/root.c Sun Jun 29 10:55:17 2008 +0100
3.2 +++ b/librazor/root.c Sun Jun 29 17:32:19 2008 +0100
3.3 @@ -24,6 +24,8 @@
3.4 #include <dirent.h>
3.5 #include <unistd.h>
3.6 #include <fcntl.h>
3.7 +#include <assert.h>
3.8 +
3.9 #include "razor.h"
3.10 #include "razor-internal.h"
3.11
3.12 @@ -49,6 +51,8 @@
3.13 struct razor_set *set;
3.14 char path[PATH_MAX], details_path[PATH_MAX], files_path[PATH_MAX];
3.15
3.16 + assert (root != NULL);
3.17 +
3.18 if (stat(root, &buf) < 0) {
3.19 if (mkdir(root, 0777) < 0) {
3.20 fprintf(stderr,
3.21 @@ -100,6 +104,8 @@
3.22 {
3.23 struct razor_root *image;
3.24
3.25 + assert (root != NULL);
3.26 +
3.27 image = malloc(sizeof *image);
3.28 if (image == NULL)
3.29 return NULL;
3.30 @@ -140,6 +146,8 @@
3.31 {
3.32 char path[PATH_MAX];
3.33
3.34 + assert (root != NULL);
3.35 +
3.36 snprintf(path, sizeof path, "%s%s/%s",
3.37 root, razor_root_path, system_repo_filename);
3.38
3.39 @@ -149,12 +157,16 @@
3.40 RAZOR_EXPORT struct razor_set *
3.41 razor_root_get_system_set(struct razor_root *root)
3.42 {
3.43 + assert (root != NULL);
3.44 +
3.45 return root->system;
3.46 }
3.47
3.48 RAZOR_EXPORT int
3.49 razor_root_close(struct razor_root *root)
3.50 {
3.51 + assert (root != NULL);
3.52 +
3.53 razor_set_destroy(root->system);
3.54 unlink(root->new_path);
3.55 close(root->fd);
3.56 @@ -166,6 +178,9 @@
3.57 RAZOR_EXPORT void
3.58 razor_root_update(struct razor_root *root, struct razor_set *next)
3.59 {
3.60 + assert (root != NULL);
3.61 + assert (next != NULL);
3.62 +
3.63 razor_set_write_to_fd(next, root->fd, RAZOR_REPO_FILE_MAIN);
3.64 root->next = next;
3.65
3.66 @@ -178,6 +193,8 @@
3.67 RAZOR_EXPORT int
3.68 razor_root_commit(struct razor_root *root)
3.69 {
3.70 + assert (root != NULL);
3.71 +
3.72 /* Make it so. */
3.73 rename(root->new_path, root->path);
3.74 printf("renamed %s to %s\n", root->new_path, root->path);
4.1 --- a/librazor/rpm.c Sun Jun 29 10:55:17 2008 +0100
4.2 +++ b/librazor/rpm.c Sun Jun 29 17:32:19 2008 +0100
4.3 @@ -31,6 +31,7 @@
4.4 #include <unistd.h>
4.5 #include <arpa/inet.h>
4.6 #include <zlib.h>
4.7 +#include <assert.h>
4.8
4.9 #include "razor.h"
4.10 #include "razor-internal.h"
4.11 @@ -357,6 +358,8 @@
4.12 const char *name;
4.13 int fd;
4.14
4.15 + assert (filename != NULL);
4.16 +
4.17 rpm = malloc(sizeof *rpm);
4.18 if (rpm == NULL)
4.19 return NULL;
4.20 @@ -713,6 +716,9 @@
4.21 char *path;
4.22 size_t filesize;
4.23
4.24 + assert (rpm != NULL);
4.25 + assert (root != NULL);
4.26 +
4.27 installer.rpm = rpm;
4.28 installer.root = root;
4.29
4.30 @@ -771,6 +777,8 @@
4.31 {
4.32 int err;
4.33
4.34 + assert (rpm != NULL);
4.35 +
4.36 free(rpm->dirs);
4.37 err = munmap(rpm->map, rpm->size);
4.38 free(rpm);
4.39 @@ -786,6 +794,9 @@
4.40 const uint32_t *epoch;
4.41 char evr[128], buf[16];
4.42
4.43 + assert (importer != NULL);
4.44 + assert (rpm != NULL);
4.45 +
4.46 name = razor_rpm_get_indirect(rpm, RPMTAG_NAME, NULL);
4.47 epoch = razor_rpm_get_indirect(rpm, RPMTAG_EPOCH, NULL);
4.48 version = razor_rpm_get_indirect(rpm, RPMTAG_VERSION, NULL);
5.1 --- a/librazor/transaction.c Sun Jun 29 10:55:17 2008 +0100
5.2 +++ b/librazor/transaction.c Sun Jun 29 17:32:19 2008 +0100
5.3 @@ -32,6 +32,7 @@
5.4 #include <errno.h>
5.5 #include <ctype.h>
5.6 #include <fnmatch.h>
5.7 +#include <assert.h>
5.8
5.9 #include "razor-internal.h"
5.10 #include "razor.h"
5.11 @@ -188,6 +189,9 @@
5.12 razor_transaction_install_package(struct razor_transaction *trans,
5.13 struct razor_package *package)
5.14 {
5.15 + assert (trans != NULL);
5.16 + assert (package != NULL);
5.17 +
5.18 transaction_set_install_package(&trans->upstream, package);
5.19 trans->changes++;
5.20 }
5.21 @@ -196,6 +200,9 @@
5.22 razor_transaction_remove_package(struct razor_transaction *trans,
5.23 struct razor_package *package)
5.24 {
5.25 + assert (trans != NULL);
5.26 + assert (package != NULL);
5.27 +
5.28 transaction_set_remove_package(&trans->system, package);
5.29 trans->changes++;
5.30 }
5.31 @@ -206,6 +213,9 @@
5.32 {
5.33 struct razor_package *spkgs, *upkgs, *end;
5.34
5.35 + assert (trans != NULL);
5.36 + assert (package != NULL);
5.37 +
5.38 spkgs = trans->system.set->packages.data;
5.39 upkgs = trans->upstream.set->packages.data;
5.40 end = trans->system.set->packages.data +
5.41 @@ -532,6 +542,8 @@
5.42 struct razor_package *p;
5.43 int i, count;
5.44
5.45 + assert (trans != NULL);
5.46 +
5.47 count = trans->system.set->packages.size / sizeof *p;
5.48 for (i = 0; i < count; i++)
5.49 trans->system.packages[i] |= TRANS_PACKAGE_UPDATE;
5.50 @@ -868,6 +880,8 @@
5.51 RAZOR_EXPORT void
5.52 razor_transaction_destroy(struct razor_transaction *trans)
5.53 {
5.54 + assert (trans != NULL);
5.55 +
5.56 transaction_set_release(&trans->system);
5.57 transaction_set_release(&trans->upstream);
5.58 free(trans);