]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/helpfile.c
fixing giveownership logs access to invalid memory address after free
[irc/evilnet/x3.git] / src / helpfile.c
index 8e862bc48218ca9de5827cfa38d2cd80d4aaf7e6..544e9055432c52e625d8efc65f3a09e85d32fe0c 100644 (file)
@@ -512,7 +512,7 @@ vsend_message(const char *dest, struct userNode *src, struct handle_info *handle
     expand_pos = pos = 0;
     chars_sent = 0;
     while (input.list[ipos]) {
-       char ch, *value, *free_value;
+       char ch, *value = NULL, *free_value;
 
         while ((ch = input.list[ipos]) && (ch != '$') && (ch != '\n') && (pos < size)) {
            line[pos++] = ch;
@@ -566,6 +566,9 @@ vsend_message(const char *dest, struct userNode *src, struct handle_info *handle
        case 'b':
            value = use_color ? "\002" : "";
            break;
+       case 'k':
+           value = use_color ? "\003" : "";
+           break;
        case 'o':
            value = use_color ? "\017" : "";
            break;
@@ -597,6 +600,11 @@ vsend_message(const char *dest, struct userNode *src, struct handle_info *handle
         case 's':
             value = self->name;
             break;
+#ifdef HAVE_HELPSERV
+        case 'i':
+            value = strdup(get_helpserv_id(dest, src));
+            break;
+#endif
        case 'H':
            value = handle ? handle->handle : "Account";
            break;