]> git.tuebingen.mpg.de Git - paraslash.git/commitdiff
Reject empty mood arguments.
authorAndre Noll <maan@tuebingen.mpg.de>
Fri, 11 Mar 2022 23:42:06 +0000 (00:42 +0100)
committerAndre Noll <maan@tuebingen.mpg.de>
Fri, 11 Mar 2022 23:54:47 +0000 (00:54 +0100)
Currently we crash in mood.c due to an assertion.

mood.c

diff --git a/mood.c b/mood.c
index a63d4d2af5d10d7b64c319d915e00b9b7ea62e89..d6a8292340aba7f48fb7816f96d9e9c0f672f210 100644 (file)
--- a/mood.c
+++ b/mood.c
@@ -873,10 +873,14 @@ int change_current_mood(const char *mood_name, char **errmsg)
        if (mood_name) {
                struct mood *m;
                struct osl_row *row;
-               struct osl_object obj = {
-                       .data = (char *)mood_name,
-                       .size = strlen(mood_name) + 1
-               };
+               struct osl_object obj;
+
+               if (!*mood_name) {
+                       *errmsg = make_message("empty mood name");
+                       return -ERRNO_TO_PARA_ERROR(EINVAL);
+               }
+               obj.data = (char *)mood_name;
+               obj.size = strlen(mood_name) + 1;
                ret = osl(osl_get_row(moods_table, BLOBCOL_NAME, &obj, &row));
                if (ret < 0) {
                        if (errmsg)