Kevin Chadwick <m8il1i...@gmail.com> writes:

> On 1/21/21 2:58 PM, Kevin Chadwick wrote:
>>>>    840 beep     CALL  pledge(0xc0000f4000,0xc0000ae384)
>>>>    840 beep     STRU  promise="stdio rpath wpath cpath dpath tmppath inet 
>>>> mcast fattr chown flock unix d\
>>>>    ns getpw sendfd recvfd tape tty proc exec prot_exec settime ps vminfo 
>>>> id pf route wroute audio v\
>>>>    ideo bpf unveil error"
>>>>    840 beep     STRU  execpromise=""
>>>>    840 beep     RET   pledge 0
>>>>
>>> Whatever you are trying to do is ridiculous.
>> Absolutely. In fact the program itself is pointless to pledge, playing a 
>> beep to
>> the speaker. However, I had pledge disabled in my binaries due to the 
>> syscall 74
>> Go bug that was fixed. This is just testing with the most permissable 
>> settings.
>> Perhaps that in itself could cause an issue.
>
> Is execpromise="" equivalent to passing null in c as a nil string in Go is
> initialised to "" (function sig = string)
>
> Perhaps I should ktrace the whacky full promise passsed as execpromise too?

Sorry if I chime in, but execpromise="" is a whole different story from
execpromise=NULL.

> A promises value of "" restricts the process to the _exit(2) system
> call.

"" is a pointer to a string whose first character is NUL (\0), NULL is
the null pointer.

I don't know how to convince the go type system to discern between nil
and "", maybe you need something like sql.NullString

HTH

Omar Polo

Reply via email to