Fix NULL ptr reference of se->relevance
[pazpar2-moved-to-github.git] / src / session.c
index 50c4b94..5ad2694 100644 (file)
@@ -1317,9 +1317,7 @@ struct record_cluster **show_range_start(struct session *se,
                 client_update_show_stat(rec->client, 1);
         }
     }
-    if (*num > 0)
-        recs =
-            nmem_malloc(se->nmem, *num * sizeof(struct record_cluster *));
+    recs = nmem_malloc(se->nmem, (*num > 0 ? *num : 1) * sizeof(*recs));
     for (i = 0; i < *num; i++)
     {
         struct record_cluster *r = reclist_read_record(se->reclist);
@@ -1677,7 +1675,7 @@ int ingest_record(struct client *cl, const char *rec,
         return -1;
     }
     session_enter(se, "ingest_record");
-    if (client_get_session(cl) == se)
+    if (client_get_session(cl) == se && se->relevance)
         ret = ingest_to_cluster(cl, xdoc, root, record_no, mergekey_norm);
     session_leave(se, "ingest_record");
 
@@ -2155,7 +2153,7 @@ void session_log(struct session *s, int level, const char *fmt, ...)
     va_start(ap, fmt);
 
     yaz_vsnprintf(buf, sizeof(buf)-30, fmt, ap);
-    yaz_log(level, "Session %u: %s", s->session_id, buf);
+    yaz_log(level, "Session %u: %s", s ? s->session_id : 0, buf);
 
     va_end(ap);
 }