On Fri, 7 Jan 2022, Daniel P. Berrangé wrote: > 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." > Ok fine but still, life is not ideal ... libraries do have bugs.