Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 177934 - app-portage/genlop-0.30.7 Use of uninitialized value in pattern match (m//)
Summary: app-portage/genlop-0.30.7 Use of uninitialized value in pattern match (m//)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Portage Tools Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-10 15:14 UTC by Michał Kiedrowicz
Modified: 2007-10-10 20:32 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Added check for 'rsync' and 'info' (or 'time') aruments and display info if both of them are present. (info-rsync.patch,77 bytes, patch)
2007-05-10 16:51 UTC, Michał Kiedrowicz
Details | Diff
updated /usr/bin/genlop file (genlop,35.90 KB, text/plain)
2007-05-12 12:28 UTC, Michał Kiedrowicz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Kiedrowicz 2007-05-10 15:14:32 UTC
It seems that genlop doesn't parse command line arguments properly. Combination of -r and -i arguments give warnings about uninitialized value and doesn't look for specified package.

Reproducible: Always

Steps to Reproduce:
1. # geblop -ri
2. # genlop -ri gcc
Actual Results:  
# genlop -ri
    rsync'ed at >>> Wed Oct  4 02:49:36 2006
     (...)
     rsync'ed at >>> Thu May  3 18:40:47 2007
Use of uninitialized value in numeric eq (==) at /usr/bin/genlop line 773.
Total merge time unknown.


   Info about currently installed ebuild:
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
Use of uninitialized value in pattern match (m//) at /usr/bin/genlop line 808.
   none installed.


Expected Results:  
Genlop should display info about usage.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-05-10 15:23:30 UTC
Works just fine here. What's your bash version?
Comment 2 Michał Kiedrowicz 2007-05-10 15:25:10 UTC
$ bash --version
GNU bash, version 3.2.17(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2007-05-10 15:29:21 UTC
Not reproducible...

$ emerge -pv genlop bash

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] app-portage/genlop-0.30.7  USE="bash-completion" 0 kB 
[ebuild   R   ] app-shells/bash-3.2_p17  USE="-afs -bashlogger nls -vanilla" 0 kB 
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2007-05-10 15:31:14 UTC
Also, eh... this is perl, not bash. I guess I need more beer. :P
Comment 5 Michał Kiedrowicz 2007-05-10 16:51:38 UTC
Created attachment 118763 [details, diff]
Added check for 'rsync' and 'info' (or 'time') aruments and display info if both of them are present.
Comment 6 Michał Kiedrowicz 2007-05-10 17:12:24 UTC
Comment on attachment 118763 [details, diff]
Added check for 'rsync' and 'info' (or 'time') aruments and display info if both of them are present.

><?xml version="1.0"?><html><body><pre>961,962d960
>&lt; help() if (($info_found or $time_found) and $rsync_found);
>&lt; 
></pre></body></html>
Comment 7 Roeland Douma 2007-05-12 08:48:28 UTC
That patch is not working for me... could you post you /usr/bin/genlop file please?
Comment 8 Michał Kiedrowicz 2007-05-12 12:28:30 UTC
Created attachment 118993 [details]
updated /usr/bin/genlop file
Comment 9 Roeland Douma 2007-05-12 15:40:29 UTC
When I use that file and i do an './genlop -ir" i just get the info screen of when i do 'genlop -i'. No warning but also not the info that i need...
Comment 10 Michał Kiedrowicz 2007-05-13 21:01:26 UTC
(In reply to comment #9)
> When I use that file and i do an './genlop -ir" i just get the info screen of
> when i do 'genlop -i'. No warning but also not the info that i need...
> 

'genlop -i' is inproper use of this program (no packages selected), 'genlop -ir' also is inproper (-r searches for sync history, -i displays info about selected packages). I've only forced displaying normal info scren when (-i or -t) and -r are combined together, because it is normal genlop's behaviour (like dispaying info screen when doing 'genlop -i'). I didn't put any warnings, because genlop normally doesn't show any warnings about inproper use of arguments.

I can put show warning about '-r and -i combined together' if You think there should be.

Also, I don't understand what's 'the info You need'.
Comment 11 Roeland Douma 2007-05-14 07:19:36 UTC
You are right that doing genlop -r and genlop -i foo work. But i was trying to reproduce the steps in the first post... But other than that it is indeed working :)
Comment 12 Michał Kiedrowicz 2007-10-10 20:32:42 UTC
I can't reproduce this issue on genlop-0.30.8-r1, so this bug can be closed.