diff --git a/imagery/i.rectify/main.c b/imagery/i.rectify/main.c index 3bbe830e3cd..a740a07a0ae 100644 --- a/imagery/i.rectify/main.c +++ b/imagery/i.rectify/main.c @@ -26,6 +26,8 @@ #include #include "global.h" +#include + int seg_mb_img; func interpolate; @@ -151,8 +153,14 @@ int main(int argc, char *argv[]) interpolate = menu[method].method; G_strip(grp->answer); - strcpy(group.name, grp->answer); - strcpy(extension, ext->answer); + if (G_strlcpy(group.name, grp->answer, sizeof(group.name)) >= + sizeof(group.name)) { + G_fatal_error(_("Group name <%s> is too long"), grp->answer); + } + if (G_strlcpy(extension, ext->answer, sizeof(extension)) >= + sizeof(extension)) { + G_fatal_error(_("Extension <%s> is too long"), ext->answer); + } order = atoi(val->answer); seg_mb = NULL;