Okay. The change to gi_dispa.c is checked in (see my cheapglk repository). The bug fix to glkop.c is also (glulxe repository). I've imported the changes into my other libraries (glkterm and quixe).
Anybody who supports a C-based Glk library or Glulx interpreter should pick up these changes. (Both sides have to be fixed, unfortunately. The library fix uncovered the old interpreter-side bug.)
I added a unit test for this to my memstreamtest.ulx text -- see
http://eblong.com/zarf/glulx/ . In that test, type "null grape" and "uninull grape", and similarly for the the other objects. Those commands should print the length of the description string (in characters) for the noun object. In unfixed interpreters, you'll see some kind of error.
Since it may take a while for interpreters to absorb these bug fixes, I'll remind you that
glk_stream_open_memory(array,0,filemode_Write,0);
...is a way to accomplish the same thing, without tripping over the bug. ("The same thing" meaning "measure the length of printed text without printing it to either the screen or memory".)