[#7708] Bug in libsnmp-ruby1.8 — Hadmut Danisch <hadmut@...>

Hi,

8 messages 2006/04/11
[#7709] Re: Bug in libsnmp-ruby1.8 — Eric Hodel <drbrain@...7.net> 2006/04/11

On Apr 11, 2006, at 6:23 AM, Hadmut Danisch wrote:

[#7770] Re: possible defect in array.c — "Brown, Warren" <warrenbrown@...>

> rb_range_beg_len (in range.c) does set beg and len.

13 messages 2006/04/26
[#7771] Re: possible defect in array.c — "Pat Eyler" <rubypate@...> 2006/04/26

On 4/26/06, Brown, Warren <warrenbrown@aquire.com> wrote:

Another Coverity Defect

From: "Pat Eyler" <rubypate@...>
Date: 2006-04-24 20:47:54 UTC
List: ruby-core #7758
this one is in  ruby/regcomp.c  (there are three more 'deadcode'
errors in the scan).


1382 	  case N_BACKREF:
1383 	    {
1384 	      int i;
1385 	      BackrefNode* br = &(NBACKREF(node));
1386 	
1387 	      if (br->back_num == 1) {
1388 		n = br->back_static[0];
1389 		if (IS_IGNORECASE(reg->options)) {
1390 		  r = add_opcode(reg, OP_BACKREFN_IC);
1391 		  if (r) return r;
1392 		  r = add_mem_num(reg, n);
1393 		}
1394 		else {
1395 		  switch (n) {
1396 		  case 1:  r = add_opcode(reg, OP_BACKREF1); break;
1397 		  case 2:  r = add_opcode(reg, OP_BACKREF2); break;
1398 		  case 3:  r = add_opcode(reg, OP_BACKREF3); break;
1399 		  default:
1400 		    r = add_opcode(reg, OP_BACKREFN);
1401 		    if (r) return r;
1402 		    r = add_mem_num(reg, n);
1403 		    break;
1404 		  }
1405 		}
1406 	      }
1407 	      else {
1408 		int* p;
1409 	
1410 	        if (IS_IGNORECASE(reg->options)) {
1411 	          add_opcode(reg, OP_BACKREF_MULTI_IC);
1412 	        }
1413 	        else {
1414 	          add_opcode(reg, OP_BACKREF_MULTI);
1415 	        }
1416 	

Event dead_error_line: Cannot reach this line of code
Event dead_error_condition: On this path, the condition "r != 0" could
not be true
Also see events: [dead_error_condition][assignment][const]

1417 		if (r) return r;
1418 		add_length(reg, br->back_num);
1419 		if (r) return r;
1420 		p = BACKREFS_P(br);
1421 		for (i = br->back_num - 1; i >= 0; i--) {
1422 		  r = add_mem_num(reg, p[i]);
1423 		  if (r) return r;
1424 		}
1425 	      }
1426 	    }
1427 	    break;


In This Thread

Prev Next