diff --git a/src/builtin.cmod b/src/builtin.cmod
index 118e86ac58e0d4d2655e598790baec7eac960465..6c6796b89474e76ffa15efbe94a3e94c500cc3fc 100644
--- a/src/builtin.cmod
+++ b/src/builtin.cmod
@@ -3450,7 +3450,7 @@ PIKECLASS Buffer
       if( str->str.s )
       {
           if( Pike_fp->flags & OBJECT_CLEAR_ON_EXIT )
-              memset( str->str.s->str, 0, str->str.s->len );
+              guaranteed_memset( str->str.s->str, 0, str->str.s->len );
           free_string_builder( &str->str );
       }
     }
diff --git a/src/object.c b/src/object.c
index 649e7658ec2d820404652aeab63c5b2c02f685c7..e2ad36beec1f4db670cbcb6aad42c9a30f4648d8 100644
--- a/src/object.c
+++ b/src/object.c
@@ -959,7 +959,7 @@ PMOD_EXPORT void destruct_object (struct object *o, enum object_destruct_reason
     POP_FRAME2();
 
   if (o->storage && (o->flags & OBJECT_CLEAR_ON_EXIT)) {
-    memset(o->storage, 0, p->storage_needed);
+    guaranteed_memset(o->storage, 0, p->storage_needed);
   }
 
   free_object( o );