core: don't abort() Kamailio in case of invalid lump parameters, return an error
authorHenning Westerholt <hw@skalatan.de>
Thu, 11 Apr 2019 07:21:44 +0000 (09:21 +0200)
committerHenning Westerholt <hw@skalatan.de>
Thu, 11 Apr 2019 07:21:44 +0000 (09:21 +0200)
src/core/data_lump.c

index 007c5de..a15f3e3 100644 (file)
@@ -291,14 +291,14 @@ struct lump* del_lump(struct sip_msg* msg, int offset, int len, enum _hdr_types_
 
        /* extra checks */
        if (offset>msg->len){
-               LM_CRIT("offset exceeds message size (%d > %d) aborting...\n",
+               LM_CRIT("offset exceeds message size (%d > %d)\n",
                                        offset, msg->len);
-               abort();
+               return 0;
        }
        if (offset+len>msg->len){
                LM_CRIT("offset + len exceeds message size (%d + %d > %d)\n",
                                        offset, len,  msg->len);
-               abort();
+               return 0;
        }
        if (len==0){
                LM_WARN("0 len (offset=%d)\n", offset);
@@ -348,9 +348,9 @@ struct lump* anchor_lump(struct sip_msg* msg, int offset, int len, enum _hdr_typ
        
        /* extra checks */
        if (offset>msg->len){
-               LM_CRIT("offset exceeds message size (%d > %d) aborting...\n",
+               LM_CRIT("offset exceeds message size (%d > %d)\n",
                                        offset, msg->len);
-               abort();
+               return 0;
        }
        if (len){
                LM_WARN("len !=0 (%d)\n", len);
@@ -408,9 +408,9 @@ struct lump* anchor_lump2(struct sip_msg* msg, int offset, int len, enum _hdr_ty
        
        /* extra checks */
        if (offset>msg->len){
-               LM_CRIT("offset exceeds message size (%d > %d) aborting...\n",
+               LM_CRIT("offset exceeds message size (%d > %d)\n",
                                        offset, msg->len);
-               abort();
+               return 0;
        }
        if (len){
                LM_WARN("len !=0 (%d)\n", len);