# HG changeset patch # User Kristian H?gsberg # Date 1204782951 18000 # Node ID 43cac7931189b3e2872bafb1a288b76550c73a3f # Parent ea06dacb3c04cd49fbe47a99052b36962a9b3ab1 Fix bug in razor_create_dir() path component loop. diff -r ea06dacb3c04 -r 43cac7931189 rpm.c --- a/rpm.c Wed Mar 05 23:49:05 2008 -0500 +++ b/rpm.c Thu Mar 06 00:55:51 2008 -0500 @@ -526,7 +526,6 @@ { const char *name, *version, *release; const uint_32 *epoch; - struct rpm_header_index *epoch_header; char evr[128], buf[16]; name = razor_rpm_get_indirect(rpm, RPMTAG_NAME, NULL); @@ -534,7 +533,7 @@ version = razor_rpm_get_indirect(rpm, RPMTAG_VERSION, NULL); release = razor_rpm_get_indirect(rpm, RPMTAG_RELEASE, NULL); - if (epoch_header) { + if (epoch) { snprintf(buf, sizeof buf, "%u", ntohl(*epoch)); razor_build_evr(evr, sizeof evr, buf, version, release); } else { diff -r ea06dacb3c04 -r 43cac7931189 util.c --- a/util.c Wed Mar 05 23:49:05 2008 -0500 +++ b/util.c Thu Mar 06 00:55:51 2008 -0500 @@ -21,8 +21,11 @@ strcpy(buffer, root); p = buffer + strlen(buffer); slash = path; - for (slash = path; slash[1] != '\0'; slash = next) { + for (slash = path; *slash != '\0'; slash = next) { next = strchr(slash + 1, '/'); + if (next == NULL) + next = slash + strlen(slash); + memcpy(p, slash, next - slash); p += next - slash; *p = '\0';