|
@@ -303,7 +303,7 @@ static int cpio_mkfile(const char *name, const char *location,
|
|
|
int retval;
|
|
|
int rc = -1;
|
|
|
int namesize;
|
|
|
- int i;
|
|
|
+ unsigned int i;
|
|
|
|
|
|
mode |= S_IFREG;
|
|
|
|
|
@@ -381,25 +381,28 @@ error:
|
|
|
|
|
|
static char *cpio_replace_env(char *new_location)
|
|
|
{
|
|
|
- char expanded[PATH_MAX + 1];
|
|
|
- char env_var[PATH_MAX + 1];
|
|
|
- char *start;
|
|
|
- char *end;
|
|
|
-
|
|
|
- for (start = NULL; (start = strstr(new_location, "${")); ) {
|
|
|
- end = strchr(start, '}');
|
|
|
- if (start < end) {
|
|
|
- *env_var = *expanded = '\0';
|
|
|
- strncat(env_var, start + 2, end - start - 2);
|
|
|
- strncat(expanded, new_location, start - new_location);
|
|
|
- strncat(expanded, getenv(env_var), PATH_MAX);
|
|
|
- strncat(expanded, end + 1, PATH_MAX);
|
|
|
- strncpy(new_location, expanded, PATH_MAX);
|
|
|
- } else
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- return new_location;
|
|
|
+ char expanded[PATH_MAX + 1];
|
|
|
+ char env_var[PATH_MAX + 1];
|
|
|
+ char *start;
|
|
|
+ char *end;
|
|
|
+
|
|
|
+ for (start = NULL; (start = strstr(new_location, "${")); ) {
|
|
|
+ end = strchr(start, '}');
|
|
|
+ if (start < end) {
|
|
|
+ *env_var = *expanded = '\0';
|
|
|
+ strncat(env_var, start + 2, end - start - 2);
|
|
|
+ strncat(expanded, new_location, start - new_location);
|
|
|
+ strncat(expanded, getenv(env_var),
|
|
|
+ PATH_MAX - strlen(expanded));
|
|
|
+ strncat(expanded, end + 1,
|
|
|
+ PATH_MAX - strlen(expanded));
|
|
|
+ strncpy(new_location, expanded, PATH_MAX);
|
|
|
+ new_location[PATH_MAX] = 0;
|
|
|
+ } else
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ return new_location;
|
|
|
}
|
|
|
|
|
|
|