From 25ebc22d648cf30c0bb94b2afef3e6c74326e348 Mon Sep 17 00:00:00 2001 From: Bryan Drewery Date: Sat, 25 Aug 2012 16:34:00 -0500 Subject: [PATCH] Fix crash when specified filename has no path separators --- pkg.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkg.c b/pkg.c index c1667c3..dbc9d8d 100644 --- a/pkg.c +++ b/pkg.c @@ -131,8 +131,8 @@ pkg_get_parent_dir(pkg_t *pkg) char *pathbuf; strlcpy(buf, pkg->filename, sizeof buf); - pathbuf = strrchr(buf, PKG_DIR_SEP_S); - pathbuf[0] = '\0'; + if ((pathbuf = strrchr(buf, PKG_DIR_SEP_S)) != NULL) + pathbuf[0] = '\0'; 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)); /* make module id */ - idptr = strrchr(pkg->filename, PKG_DIR_SEP_S); - idptr++; + if ((idptr = strrchr(pkg->filename, PKG_DIR_SEP_S)) != NULL) + idptr++; + else + idptr = pkg->filename; pkg->id = strdup(idptr); idptr = strrchr(pkg->id, '.');