vty: Do not leak the gsm_subscriber
diff --git a/openbsc/src/vty_interface_layer3.c b/openbsc/src/vty_interface_layer3.c
index 032e16f..87c1c85 100644
--- a/openbsc/src/vty_interface_layer3.c
+++ b/openbsc/src/vty_interface_layer3.c
@@ -1,5 +1,6 @@
 /* OpenBSC interface to quagga VTY */
 /* (C) 2009 by Harald Welte <laforge@gnumonks.org>
+ * (C) 2009 by Holger Hans Peter Freyther
  * All Rights Reserved
  *
  * This program is free software; you can redistribute it and/or modify
@@ -88,6 +89,7 @@
 		return CMD_WARNING;
 	}
 
+	/* vty_go_parent should put this subscriber */
 	vty->index = subscr;
 	vty->node = SUBSCR_NODE;
 
@@ -112,6 +114,7 @@
 			return CMD_WARNING;
 		}
 		subscr_dump_vty(vty, subscr);
+		subscr_put(subscr);
 
 		return CMD_SUCCESS;
 	}
@@ -218,6 +221,7 @@
 	b = argv_to_buffer(argc, argv, 1);
 	rc = _send_sms_buffer(receiver, b);
 	buffer_free(b);
+	subscr_put(receiver);
 
 	return rc;
 }
@@ -238,6 +242,7 @@
 	b = argv_to_buffer(argc, argv, 1);
 	rc = _send_sms_buffer(receiver, b);
 	buffer_free(b);
+	subscr_put(receiver);
 
 	return rc;
 }