No.
Heartbleed is this:
1. malloc an input and an output buffer of the size specified by the caller (16 bits, up to 65536 bytes)
2. copy input data into input buffer (as little as 1 byte)
3. copy input buffer to output buffer
4. send output buffer to caller
Neither malloc nor free zero-out their stuff, so when you malloc chances are the garbage you get before filling your buffer is the result of previous memory writes. In heartbleed, each call would return up to 65535 bytes of these likely-previous-memory-writes to the caller.
This was made even more likely because OpenSSL includes an anti-mitigation framework in the form of freelists: while malloc doesn't zero memory by default, various OS have added mitigation techniques e.g. BSD's malloc.conf can wipe allocated buffers. However OpenSSL does its own memory management using freelists, so it reuses previously-allocated buffers for new allocations making it even more likely heartbleed would leak interesting data.
Anyway one of the things which don't occur at any point is reading or writing past a buffer.