pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/59513: formail (from mail/procmail) core dumps on iscntrl(*p)
>Number: 59513
>Category: pkg
>Synopsis: formail (from mail/procmail) core dumps on iscntrl(*p)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Jul 07 03:10:00 +0000 2025
>Originator: Robert Elz
>Release: NetBSD 10.99.14
>Organization:
>Environment:
System: NetBSD jacaranda.noi.kre.to 10.99.14 NetBSD 10.99.14 (JACARANDA:1.1-20250706) #202: Mon Jul 7 01:16:14 +07 2025 kre%jacaranda.noi.kre.to@localhost:/usr/obj/testing/kernels/amd64/JACARANDA amd64
Architecture: x86_64
Machine: amd64
>Description:
formail (which is built as part of pkgsrc/mail/procmail)
includes a single use of iscntrl() which it uses as
iscntrl(*p)
where p is a char *. Once upon a time that simply
returned a random result when *p < 0, now it SEGV's (in HEAD anyway).
>How-To-Repeat:
Use formail on a message containing any UTF-8 (unencoded)
>Fix:
Add a new mail/procmail/patches/patch-src-formail.c
containing something like:
--- formail.c.orig 2025-07-07 09:27:24.898676824 +0700
+++ formail.c 2025-07-07 09:14:55.802502352 +0700
@@ -897,7 +897,7 @@
while(len)
{ switch(*p)
{ default:len--;
- if(iscntrl(*p)) /* no control characters allowed */
+ if(iscntrl(*(unsigned char *)p)) /* no control characters allowed */
break;
p++;
continue;
Home |
Main Index |
Thread Index |
Old Index