summaryrefslogtreecommitdiff
path: root/rpmio/rpmglob.c
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2012-05-31 16:55:37 +0300
committerPanu Matilainen <pmatilai@redhat.com>2012-05-31 16:55:37 +0300
commit794e24456a9a98d10e4d2a3b75cb740690312ef9 (patch)
treeaf1df8f6686db2d866c22b8668cf9ea6b384d145 /rpmio/rpmglob.c
parenta48c369a44c230b0a03f1082022c80ca33abbe40 (diff)
downloadrpm-794e24456a9a98d10e4d2a3b75cb740690312ef9.tar.gz
xmalloc() and xrealloc() never fail, remove redundant checks
Diffstat (limited to 'rpmio/rpmglob.c')
-rw-r--r--rpmio/rpmglob.c47
1 files changed, 1 insertions, 46 deletions
diff --git a/rpmio/rpmglob.c b/rpmio/rpmglob.c
index ef29ce335..d58f38c12 100644
--- a/rpmio/rpmglob.c
+++ b/rpmio/rpmglob.c
@@ -397,8 +397,6 @@ glob(const char *pattern, int flags,
((flags & GLOB_DOOFFS) ?
pglob->gl_offs : 0) +
1 + 1) * sizeof(char *));
- if (pglob->gl_pathv == NULL)
- return GLOB_NOSPACE;
if (flags & GLOB_DOOFFS)
while (pglob->gl_pathc < pglob->gl_offs)
@@ -493,10 +491,6 @@ glob(const char *pattern, int flags,
pglob->gl_offs : 0) +
dirs.gl_pathc + 1) *
sizeof(char *));
- if (pglob->gl_pathv == NULL) {
- globfree(&dirs);
- return GLOB_NOSPACE;
- }
if (flags & GLOB_DOOFFS)
while (pglob->gl_pathc < pglob->gl_offs)
@@ -517,11 +511,6 @@ glob(const char *pattern, int flags,
pglob->gl_pathv[pglob->gl_pathc] = xmalloc(dir_len + 1
+
filename_len);
- if (pglob->gl_pathv[pglob->gl_pathc] == NULL) {
- globfree(&dirs);
- globfree(pglob);
- return GLOB_NOSPACE;
- }
mempcpy(mempcpy
(mempcpy
(pglob->gl_pathv[pglob->gl_pathc], dir,
@@ -536,8 +525,7 @@ glob(const char *pattern, int flags,
new_pathv = (char **) xrealloc(pglob->gl_pathv,
((pglob->gl_pathc + 1)
* sizeof(char *)));
- if (new_pathv != NULL)
- pglob->gl_pathv = new_pathv;
+ pglob->gl_pathv = new_pathv;
} else
return GLOB_NOMATCH;
}
@@ -575,10 +563,6 @@ glob(const char *pattern, int flags,
&& S_ISDIR(st.st_mode)) {
size_t len = strlen(pglob->gl_pathv[i]) + 2;
char *new = xrealloc(pglob->gl_pathv[i], len);
- if (new == NULL) {
- globfree(pglob);
- return GLOB_NOSPACE;
- }
strcpy(&new[len - 2], "/");
pglob->gl_pathv[i] = new;
}
@@ -646,11 +630,6 @@ static int prefix_array(const char *dirname, char **array, size_t n)
for (i = 0; i < n; ++i) {
size_t eltlen = strlen(array[i]) + 1;
char *new = (char *) xmalloc(dirlen + 1 + eltlen);
- if (new == NULL) {
- while (i > 0)
- free(array[--i]);
- return 1;
- }
{
char *endp = (char *) mempcpy(new, dirname, dirlen);
*endp++ = '/';
@@ -745,8 +724,6 @@ glob_in_dir(const char *pattern, const char *directory, int flags,
"*a/". */
names = (struct globlink *) alloca(sizeof(struct globlink));
names->name = (char *) xmalloc(1);
- if (names->name == NULL)
- goto memory_error;
names->name[0] = '\0';
names->next = NULL;
nfound = 1;
@@ -794,8 +771,6 @@ glob_in_dir(const char *pattern, const char *directory, int flags,
alloca(sizeof(struct globlink));
len = NAMLEN(d);
new->name = (char *) xmalloc(len + 1);
- if (new->name == NULL)
- goto memory_error;
*((char *) mempcpy(new->name, name, len))
= '\0';
new->next = names;
@@ -813,8 +788,6 @@ glob_in_dir(const char *pattern, const char *directory, int flags,
names = (struct globlink *) alloca(sizeof(struct globlink));
names->next = NULL;
names->name = (char *) xmalloc(len + 1);
- if (names->name == NULL)
- goto memory_error;
*((char *) mempcpy(names->name, pattern, len)) = '\0';
}
@@ -825,8 +798,6 @@ glob_in_dir(const char *pattern, const char *directory, int flags,
((flags & GLOB_DOOFFS) ? pglob->
gl_offs : 0) + nfound +
1) * sizeof(char *));
- if (pglob->gl_pathv == NULL)
- goto memory_error;
if (flags & GLOB_DOOFFS)
while (pglob->gl_pathc < pglob->gl_offs)
@@ -849,22 +820,6 @@ glob_in_dir(const char *pattern, const char *directory, int flags,
__set_errno(save);
return nfound == 0 ? GLOB_NOMATCH : 0;
-
- memory_error:
- {
- int save = errno;
- if (flags & GLOB_ALTDIRFUNC)
- (*pglob->gl_closedir) (stream);
- else
- closedir((DIR *) stream);
- __set_errno(save);
- }
- while (names != NULL) {
- if (names->name != NULL)
- free(names->name);
- names = names->next;
- }
- return GLOB_NOSPACE;
}
/* librpmio exported interfaces */