Subject: fluid-ref* with negative index segfaults

From: Maxime Devos <[email-masked]>
Date: Thu, 29 Sep 2022 00:33:24 +0200

antipode@antipode ~$ guile -c '(fluid-ref* (make-fluid) -1)'
Backtrace:
In ice-9/boot-9.scm:
   1752:10  6 (with-exception-handler _ _ #:unwind? _ # _)
In unknown file:
            5 (apply-smob/0 #<thunk 7fdfaaa642e0>)
In ice-9/boot-9.scm:
     724:2  4 (call-with-prompt ("prompt") #<procedure 7fdfaaa76cc0 …> …)
In ice-9/eval.scm:
     619:8  3 (_ #(#(#<directory (guile-user) 7fdfaaa69c80>)))
In ice-9/command-line.scm:
    185:19  2 (_ #<input: string 7fdfaaa63850>)
In unknown file:
            1 (eval (fluid-ref* (make-fluid) -1) #<directory (guile-u…>)
            0 (fluid-ref* #<fluid 7fdfaaa77e20> -1)

ERROR: In procedure fluid-ref*:
Value out of range Segmentatiefout

While the negative index was bogus, I don't think segfaulting is the 
answer, a 'Value out of range' exceptio nwould have sufficed.

Greetings,
Maxime.