... | ... |
@@ -772,7 +772,13 @@ static char *cli_signorm(const char *signame) |
772 | 772 |
|
773 | 773 |
nsz = strlen(signame); |
774 | 774 |
|
775 |
- if (nsz > 11) { |
|
775 |
+ if (nsz > 3 && signame[nsz-1] == '}') { |
|
776 |
+ char *pt = strstr(signame, ".{"); |
|
777 |
+ if (pt) /* strip the ".{ }" clause at the end of signame */ |
|
778 |
+ nsz = pt - signame; |
|
779 |
+ else |
|
780 |
+ return NULL; |
|
781 |
+ } else if (nsz > 11) { |
|
776 | 782 |
if (!strncmp(signame+nsz-11, ".UNOFFICIAL", 11)) |
777 | 783 |
nsz -= 11; |
778 | 784 |
else |