Skip to content

Автоматическая генерация standalone примеров для передачи разработчикам #87

@nataraj-hates-MS-for-stealing-github

Description

Начали прогонять FUTAG на большом объеме целей, и обнаружили такое явление: Найденный креш существует в виде сэмпла и достаточно трудночитаемого кода сгенеренного FUTAG'ом... Передавать проблему разработчикам в таком виде крайне не желательно (разработчики и так не рады тому что их отвлекают, а когда им дают непонятную фигню, так не рады будут совсем).

Для того чтобы передать срабатывание разработчикам, приходится дебагом заходить в исследуемую функцию, смотреть какие именно значения аргументов были переданы при падении, оформлять эти значения в виде констант, и вызывать все вручную.

Для функции:

void
scram_SaltedPassword(const char *password,
                     const char *salt, int saltlen, int iterations,
                     uint8 *result)

Должно поучиться что-то вроде

int main()
{
  uint8 res;
  const char[] arg1 = "12345";
  const char[] arg2 = {17, 18, 19};

  scram_SaltedPassword(arg1, arg2, 4, 9, &res);
}

Достаточно нудная и однообразная работа. С моей точки зрения это можно в определенной мере автоматизировать...
На основаниии заданного сэмпла сгенерировать обертку в которой сэмпл будет разложен по константам в явном виде.

Это уже будет не стыдно передавать разработчикам.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions