]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librados: fix memory leak in error path
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Wed, 24 Aug 2011 22:51:38 +0000 (15:51 -0700)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Wed, 24 Aug 2011 22:51:38 +0000 (15:51 -0700)
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
src/librados.cc

index 02173d8ca38259960f4f50dcd097c90caffadf62..227022defdc38183185752be949773be5df2e699 100644 (file)
@@ -1769,13 +1769,13 @@ int librados::RadosClient::aio_operate(IoCtxImpl& io, const object_t& oid,
                                       ::ObjectOperation *o, AioCompletionImpl *c)
 {
   utime_t ut = ceph_clock_now(cct);
-  Context *onack = new C_aio_Ack(c);
-  Context *oncommit = new C_aio_Safe(c);
-
   /* can't write to a snapshot */
   if (io.snap_seq != CEPH_NOSNAP)
     return -EINVAL;
 
+  Context *onack = new C_aio_Ack(c);
+  Context *oncommit = new C_aio_Safe(c);
+
   io.queue_aio_write(c);
   objecter->mutate(oid, io.oloc, *o, io.snapc, ut, 0, onack, oncommit, &c->objver);