diff --git a/tools/debugedit.c b/tools/debugedit.c index 57e3872..0e05f83 100644 --- a/tools/debugedit.c +++ b/tools/debugedit.c @@ -651,6 +651,13 @@ edit_dwarf2_line (DSO *dso, uint32_t off, char *comp_dir, int phase) shrank += srcptr - readptr; canonicalize_path ((char *)readptr, (char *)ptr); len = strlen ((char *)ptr) + 1; + if (shrank - len == 1) + { + /* add extra '/' to avoid shrinking by one character */ + len++; + ptr[len - 2] = '/'; + ptr[len - 1] = '\0'; + } shrank -= len; ptr += len;