Wireshark-commits: [Wireshark-commits] rev 54849: /trunk/tools/lemon/ /trunk/tools/lemon/: lemon.c
http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=54849
User: jmayer
Date: 2014/01/19 05:59 PM
Log:
Fix two coverity messages:
*** CID 718534: Dereference before null check (REVERSE_INULL)
/tools/lemon/lemon.c: 3425 in translate_code()
3419 rp->rhs[i]->index,i-rp->nrhs+1);
3420 }else{
3421 /* No destructor defined for this term */
3422 }
3423 }
3424 }
>>> CID 718534: Dereference before null check (REVERSE_INULL)
>>> Null-checking "rp->code" suggests that it may be null, but it has already been
+dereferenced on all paths leading to the check.
3425 if( rp->code ){
3426 cp = append_str(0,0,0,0);
3427 rp->code = Strsafe(cp?cp:"");
3428 }
3429 }
3430
*** CID 1156989: Out-of-bounds read (OVERRUN)
/tools/lemon/lemon.c: 3139 in tplt_xfer()
3133 int i, iStart;
3134 char line[LINESIZE];
3135 while( fgets(line,LINESIZE,in) && (line[0]!='%' || line[1]!='%') ){
3136 (*lineno)++;
3137 iStart = 0;
3138 if( name ){
>>> CID 1156989: Out-of-bounds read (OVERRUN)
>>> Overrunning array "line" of 1000 bytes at byte offset 1000 using index "i"
+(which evaluates to 1000).
3139 for(i=0; line[i] && i<LINESIZE; i++){
3140 if( line[i]=='P' && i<(LINESIZE-5) && strncmp(&line[i],"Parse",5)==0
3141 && (i==0 || !safe_isalpha(line[i-1]))
3142 ){
3143 if( i>iStart ) fprintf(out,"%.*s",i-iStart,&line[iStart]);
3144 fprintf(out,"%s",name);
Directory: /trunk/tools/lemon/
Changes Path Action
+3 -5 lemon.c Modified