From: Joey Adams Date: Fri, 25 Feb 2011 04:24:36 +0000 (-0500) Subject: tools: Fixed unchecked *strrchr in a couple places. X-Git-Url: https://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=5079b95c1121e7a8e5b0b18b094ec7d8a539c7c7 tools: Fixed unchecked *strrchr in a couple places. tools/ccan_depends --compile ccan/module (without a trailing slash) results in a segfault. --- diff --git a/tools/ccanlint/compulsory_tests/depends_exist.c b/tools/ccanlint/compulsory_tests/depends_exist.c index 12eaf021..b6be1f94 100644 --- a/tools/ccanlint/compulsory_tests/depends_exist.c +++ b/tools/ccanlint/compulsory_tests/depends_exist.c @@ -41,7 +41,8 @@ static void check_depends_exist(struct manifest *m, char **deps; char *updir = talloc_strdup(m, m->dir); - *strrchr(updir, '/') = '\0'; + if (strrchr(updir, '/')) + *strrchr(updir, '/') = '\0'; if (safe_mode) deps = get_safe_ccan_deps(m, m->dir, true, diff --git a/tools/depends.c b/tools/depends.c index 870f1e49..82524da0 100644 --- a/tools/depends.c +++ b/tools/depends.c @@ -59,7 +59,8 @@ static char *compile_info(const void *ctx, const char *dir) return NULL; ccandir = talloc_dirname(ctx, dir); - *strrchr(ccandir, '/') = '\0'; + if (strrchr(ccandir, '/')) + *strrchr(ccandir, '/') = '\0'; compiled = maybe_temp_file(ctx, "", false, "info"); if (compile_and_link(ctx, info_c_file, ccandir, "",