Fix crash when specified filename has no path separators

pull/36/head
Bryan Drewery 2012-08-25 16:34:00 -05:00
parent 4eedb041ed
commit 25ebc22d64
1 changed files with 6 additions and 4 deletions

6
pkg.c
View File

@ -131,7 +131,7 @@ pkg_get_parent_dir(pkg_t *pkg)
char *pathbuf; char *pathbuf;
strlcpy(buf, pkg->filename, sizeof buf); strlcpy(buf, pkg->filename, sizeof buf);
pathbuf = strrchr(buf, PKG_DIR_SEP_S); if ((pathbuf = strrchr(buf, PKG_DIR_SEP_S)) != NULL)
pathbuf[0] = '\0'; pathbuf[0] = '\0';
return buf; return buf;
@ -154,8 +154,10 @@ pkg_new_from_file(const char *filename, FILE *f)
pkg->vars = pkg_tuple_add(pkg->vars, "pcfiledir", pkg_get_parent_dir(pkg)); pkg->vars = pkg_tuple_add(pkg->vars, "pcfiledir", pkg_get_parent_dir(pkg));
/* make module id */ /* make module id */
idptr = strrchr(pkg->filename, PKG_DIR_SEP_S); if ((idptr = strrchr(pkg->filename, PKG_DIR_SEP_S)) != NULL)
idptr++; idptr++;
else
idptr = pkg->filename;
pkg->id = strdup(idptr); pkg->id = strdup(idptr);
idptr = strrchr(pkg->id, '.'); idptr = strrchr(pkg->id, '.');