X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;ds=sidebyside;f=ssh.c;h=ad9ccae4235c6e38c5794e8bd803629dfaaea0a2;hb=3fa95b2a7fa8082ad0109959d601c9e664ecdf84;hp=a1cb34bdbfdc4423dc8b768d3d3711d7913eae41;hpb=3d466aec90909db75eef8b6aaeedcd56eb925a2a;p=PuTTY.git diff --git a/ssh.c b/ssh.c index a1cb34bd..ad9ccae4 100644 --- a/ssh.c +++ b/ssh.c @@ -439,6 +439,8 @@ enum { #define crState(t) crStateP(t, ssh->t) #define crFinish(z) } *crLine = 0; return (z); } #define crFinishV } *crLine = 0; return; } +#define crFinishFree(z, s) } *crLine = 0; sfree(s); return (z); } +#define crFinishFreeV(s) } *crLine = 0; sfree(s); return; } #define crReturn(z) \ do {\ *crLine =__LINE__; return (z); case __LINE__:;\ @@ -7513,8 +7515,7 @@ static void ssh2_maybe_setup_x11(struct ssh_channel *c, struct Packet *pktin, logevent("X11 forwarding refused"); } } - sfree(s); - crFinishV; + crFinishFreeV(s); } static void ssh2_maybe_setup_agent(struct ssh_channel *c, struct Packet *pktin, @@ -7545,8 +7546,7 @@ static void ssh2_maybe_setup_agent(struct ssh_channel *c, struct Packet *pktin, logevent("Agent forwarding refused"); } } - sfree(s); - crFinishV; + crFinishFreeV(s); } static void ssh2_maybe_setup_pty(struct ssh_channel *c, struct Packet *pktin, @@ -7599,8 +7599,7 @@ static void ssh2_maybe_setup_pty(struct ssh_channel *c, struct Packet *pktin, } else { ssh->editing = ssh->echoing = 1; } - sfree(s); - crFinishV; + crFinishFreeV(s); } static void ssh2_setup_env(struct ssh_channel *c, struct Packet *pktin, @@ -7663,9 +7662,8 @@ static void ssh2_setup_env(struct ssh_channel *c, struct Packet *pktin, c_write_str(ssh, "Server refused to set all environment variables\r\n"); } } -out: - sfree(s); - crFinishV; + out:; + crFinishFreeV(s); } /*