On Fri, Jan 07, 2022 at 06:04:04PM +0530, Ani Sinha wrote: > > > On Fri, 7 Jan 2022, Daniel P. Berrangé wrote: > > > On Fri, Jan 07, 2022 at 05:24:18PM +0530, Ani Sinha wrote: > > > > > > > > > On Fri, 7 Jan 2022, Ján Tomko wrote: > > > > > > > On a Friday in 2022, Ani Sinha wrote: > > > > > On Fri, 7 Jan 2022, Michal Prívozník wrote: > > > > > > I don't think so. Just like we've discussed under one patch of yours, a > > > > > > function should either report error in all cases or none. And in case of > > > > > > virProcessGetSchedInfo() the linux version does report error > > > > > > > > > > I see your point but there is also a bug in that function - not all error > > > > > paths report errors. For example, !proc and !lines cases. We need to fix > > > > > that. > > > > > > > > > > > > > I don't see a !proc error path in virProcessGetSchedInfo. > > > > > > > > > > if (tid) > > > proc = g_strdup_printf("/proc/%d/task/%d/sched", (int) pid, (int) > > > tid); > > > else > > > proc = g_strdup_printf("/proc/%d/sched", (int) pid); > > > if (!proc) > > > return -1; <=== not reported > > > > g_strdup_printf can't fail unless we mangled the printf format string > > (which we havent), so that 'if (!proc)' check is redundant / unreachable > > > > I am ok with Michal's patch that removes this check. However, such > assumptutions does makes me nervous. Since we do not really have > control over the library that implements g_strdup_printf, what if the > "can't fail" logic changes one day? This can happen deliberately or due to > some bug in the library. Does it not make sense to be defensive as the > consumer of this function and write code that is future proof? Their API spec guarantees we are safe https://docs.gtk.org/glib/func.strdup_printf.html "The returned string is guaranteed to be non-NULL, unless format contains %lc or %ls conversions, which can fail if no multibyte representation is available for the given character." Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|