@pmatilai commented on this pull request.


> +    destsize = readlink(filename, dest, PATH_MAX);
+    if (destsize > 0) {
+       dest[destsize] = 0;
+       filename = dest;
+    }
+    /*
+     * Start from the end of the string.  Verify that it ends with
+     * numbers and dots, preceded by ".so.".
+     */
+    so = filename + strlen(filename);
+    while (so > filename+2) {
+       if (*so == '.') {
+           found_dot++;
+           so--;
+           continue;
+       } else if (strchr("0123456789", *so)) {

You can use `risdigit(*so)` here, this is a locale agnostic helper in rpm and 
more to the point.

But that made me think of openssl 1.x which have characters appended to the 
micro version. Openssl has symbol versions so it doesn't matter here, but I 
wonder if it's something we should handle here. Looking at Fedora repos, 
characters as the last letter brings up only weird stuff suggesting that maybe 
not, but dunno:
> $ repoquery --quiet --provides -a|grep "\.so\." |sed -e 's/()(64bit)//g'|grep 
> -v \)$|sort -u|grep -v "[[:digit:]]$"
libbsoncxx.so._noabi
libgnuradio-air_modes.so.1.0.0git
libIndexStore.so.13git
libkicad_3dsg.so.2.0.0-6.0.7-5.fc37.i386.debug
liblldb.so.13git
libLTO.so.13git
libmongocxx.so._noabi
libstdbuf.so.single
libterminal-nautilus.so.

Of those, libgnuradio-air_modes.so.1.0.0git appears a legit library that 
programs could normally link against.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2372#pullrequestreview-1286535201
You are receiving this because you are subscribed to this thread.

Message ID: <rpm-software-management/rpm/pull/2372/review/1286535...@github.com>
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to