happens across ubuntu 3.1.1.1-1, mercurial v3.1.4.1 and tip


heres what valgrind thinks:
$ valgrind /home/kook/picolisp/bin/picolisp /home/kook/picolisp/lib.l @ext.l ./html.l +
==32498== Memcheck, a memory error detector
==32498== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==32498== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==32498== Command: /home/kook/picolisp/bin/picolisp /home/kook/picolisp/lib.l @ext.l ./html.l +
==32498==
"1" "1" T
"FUCK"
"arst2" "arst2" T
"FUCK"
"Ssts3" "Ssts3" T
"FUCK"
"=s1=" "=s1=" NIL
"FUCK"
==32498== Invalid read of size 4
==32498==    at 0x8078EAE: outNum (io.c:2374)
==32498==    by 0x80512EB: evList (main.c:867)
==32498==    by 0x80552FF: doMapcar (apply.c:292)
==32498==    by 0x80512EB: evList (main.c:867)
==32498==    by 0x805130F: evList (main.c:869)
==32498==    by 0x407D934: (below main) (libc-start.c:260)
==32498==  Address 0xe75a0428 is not stack'd, malloc'd or (recently) free'd
==32498==



sorry its not a minimal testcase, but heres the code (html.l):

(de in_range (A X B)
    (and (>= X A) (<= X B)))


(de is_alphanumeric_letter (L)
    (or (in_range "a" L "z") #<=
        (in_range "A" L "Z")
        (in_range "0" L "9")))


(de is_alphanumeric_string (S)
    (not (find '((C) (not (is_alphanumeric_letter C))) (chop S))))


(de test_is_alphanumeric_string ()
    (mapcar
        '((P)
            (let (X (car P) Y (cdar P))
                (println X Y (is_alphanumeric_string X))
                (or
                    (== Y (is_alphanumeric_string X))
                    (println "FUCK")
                )
            )
        )
        '(("1" T) ("arst2" T) ("Ssts3" T) ("=s1=" F) (4 T) (banana F))
    )
)



(test_is_alphanumeric_string)





--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to