diff --git a/changes/bug11275 b/changes/bug11275
new file mode 100644
index 0000000000..b9b019ff49
--- /dev/null
+++ b/changes/bug11275
@@ -0,0 +1,3 @@
+ o Minor bugfixes:
+ - Fix a minor memory leak that occurred when signing a directory
+ object. Fixes bug 11275; bugfix on 0.2.4.13-alpha.
diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index 9e772ad21e..422278a5f8 100644
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@ -680,7 +680,7 @@ router_get_dirobj_signature(const char *digest,
/** Helper: used to generate signatures for routers, directories and
* network-status objects. Given a digest in digest and a secret
- * private_key, generate an PKCS1-padded signature, BASE64-encode it,
+ * private_key, generate a PKCS1-padded signature, BASE64-encode it,
* surround it with -----BEGIN/END----- pairs, and write it to the
* buf_len-byte buffer at buf. Return 0 on success, -1 on
* failure.
@@ -703,6 +703,7 @@ router_append_dirobj_signature(char *buf, size_t buf_len, const char *digest,
return -1;
}
memcpy(buf+s_len, sig, sig_len+1);
+ tor_free(sig);
return 0;
}